SlideShare una empresa de Scribd logo
1 de 24
Calidad de código
2/24

Evita los NOTICES por desbordamientos de array
asociativo

   error_reporting(0);
   error_reporting(E_ALL ^ E_NOTICE);
   Una forma mucho más elegante de hacerlo:
3/24


Evita los comentarios papagayo
4/24


Comenta cada fichero, arriba, en la cabecera
5/24


Comenta cada función, encima, en su cabecera


   Incluye los comentarios de lo que hace la función arriba, evita
    comentar en medio del código
6/24

Elimina el “código chatarra” de tu código de
explotación

   Trozos de código comentado
   Funciones que no se usan
   Variables que no se usan
   Ficheros que no se usan
   ...
7/24


Algunas normas de notación

   Variables: camel (inicial minúscula)
   Clases: camel (inicial mayúscula)
   Funciones, métodos: camel (inicial minúscula)
   Ficheros: camel (inicial minúscula)
   Tags y atributos HTML: minúsculas
8/24


Separa lógica de negocio y presentación




ERROR: Se mezcla lógica y
presentación
9/24

Identación: establece siempre mismo espacio de
tabulación
10/24


Sé consistente con los tipos

   Dentro del fichero cronometro.js:
     ●
        ¿qué utilidad tiene la variable
        intentos?
      ●
          ¿Qué tipo de dato le va a asignar
          el parser de JS?
      ●
          ¿Qué tipo de dato habría sido
          más adecuado?
                                ¿De qué tipo son los datos que
                                 almacena?
                                Hubiera sido más adecuado entrecomillar
                                Mejor haber usado array asociativo para
                                 cachear BBDD en memoria
11/24


Nombres de variables alusivos a su cometido


   En la práctica del juego del cronómetro, qué significado crees que
    tienen las siguientes variables:
   var RALI;
   $_POST[“peticion”]
   var interruptor, interruptor2, interruptor3;
   var RASI;
12/24

Cuida el lenguaje, nunca sabes a dónde puede llegar
tu código
13/24


Identación de bloques de código

            Errores de identación!!!   ●   Antes de una llave abrir,
                                           un espacio
                                       ●   Después de una llave
                                           abrir, nueva línea
                                       ●   Las instrucciones dentro
                                           de un bloque, una
                                           tabulación a la derecha
                                       ●   La llave cerrar en una
                                           nueva línea, justo a la
                                           altura de la instrucción
                                           que abrió el bloque
                                       ●   Detrás de la llave,
                                           instrucciones con
                                           idéntica tabulación que
                                           la llave cerrar
14/24


Identación de funciones

function funcion1() {
    instruccion1;
    instruccion2;
    instruccion3;
}                              Coloca exactamente
                                   un espacio

       Idéntica tabulación
      para las instrucciones
          consecutivas
15/24


Identación de bloques if

    instruccion1;
    if ((x < 4) || (i <= 3)) {
        instruccion2;
        instruccion3;   ●   Operadores relacionales, aislados
    }                       con un espacio a cada lado
    else {              ●   Cada condición con su propio
                            paréntesis
        instruccion4;   ●   instrucciones dentro del if, 1
    }                       tabulación derecha
    instruccion5;       ●   instrucciones dentro del else, 1
                            tabulación derecha
                        ●   Llave abrir, 1 espacio antes
                        ●   Llave cerrar justo debajo del if/else
                        ●   Al cerrar la llave, eliminamos 1
                            tabulador izquierda
16/24


Alert: Minimiza su uso

   Los mensajes de Alert resultan molestos en la navegación
17/24


Aisla la declaración de estilos a .CSS

   Ejemplo de correcto aislamiento:
18/24


Aisla la declaración de estilos a .CSS

   Ejemplo de mal aislamiento:
19/24


Nombres de funciones deben contener un verbo


   Las funciones son una acción, luego deben contener un verbo:
    actualizarResltado, calcularCoste, envierCorreo,
    comprobarLogin,...
   Una función que se llama cronómetro, ¿qué hace?
     ●
        Difícil de intuir sin leer el código
20/24


Nombres de clases deben ser un sustantivo

   Nombres como Jugador, JugadoresList, Partida, Torneo,... son
    nombres válidos de clases
   NO tiene sentido una clase que se llame SortearPartido, parece
    más lógico que se trate de un método de una clase
21/24


Nombres de fichero alusivos a su contenido

   Imagina los siguientes nombres de fichero:
      ●
        javascript.js
     ●
         js.js
     ●
         utilidadesFechas.js
     ●
         funcionesCifrado.js
   Los dos primeros es algo así como decir “Sube pa'rriba”
22/24


Cada función entre líneas de separación

// ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
function f1() {
    ...
}
// ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
function f2() {
    ...
}
// ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
23/24


Nombres de fichero alusivos a su contenido

   Imagina los siguientes nombres de fichero:
      ●
        javascript.js
     ●
         js.js
     ●
         utilidadesFechas.js
     ●
         funcionesCifrado.js
   Los dos primeros es algo así como decir “Sube pa'rriba”
24/24


Declaración de variables: nunca en medio

   Las variables podemos declararlas al comienzo del fichero, como
    variables globales
   También podemos declararlas al comienzo de una función
   Evitar su declaración en medio del código

function f1() {      OK
    var x;
    var y;


    instruccion1;
    instruccion2;     !!!
    ...
    var j;
    instruccion12;
}

Más contenido relacionado

La actualidad más candente

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlralhum
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2karlalopezbello
 
Las estructuras de control en la programación
Las estructuras de control en la programaciónLas estructuras de control en la programación
Las estructuras de control en la programaciónRoibertOnielEstradaL
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionalesAndreina Trejo
 
Estructuras de Control C++
Estructuras de Control C++Estructuras de Control C++
Estructuras de Control C++Jorge Leonardo
 
Estructura de un programa
Estructura de un programaEstructura de un programa
Estructura de un programaFelipe Romano
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdireneDaniel Irene
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Renny Batista
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASJorge Leonardo
 
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...Diego Andrés Alvarez Marín
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos ForRichard Robalino
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivasAbrirllave
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje javaMarisol Henao
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 ExcepcionesEmilio Aviles Avila
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y EntradaCarlos Pes
 

La actualidad más candente (20)

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
 
Las estructuras de control en la programación
Las estructuras de control en la programaciónLas estructuras de control en la programación
Las estructuras de control en la programación
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Estructuras de Control C++
Estructuras de Control C++Estructuras de Control C++
Estructuras de Control C++
 
Estructura de un programa
Estructura de un programaEstructura de un programa
Estructura de un programa
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
ESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
ESTRUCTURAS REPETITIVAS
 
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...
04 - Sentencias de control condicionales y ciclos en lenguaje C: for, while, ...
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 Excepciones
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y Entrada
 

Similar a Calidad código optimiza

Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++andreadelacruz002
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoandreadelacruz002
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLabEdgar Galvez
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Michelle Torres
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++grachika
 
Informe tecnico u4 final
Informe tecnico u4 finalInforme tecnico u4 final
Informe tecnico u4 finalIrving Che
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicioswendy_romero06
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosEfren Pacheco
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C SharpEdgardo Martinez
 

Similar a Calidad código optimiza (20)

Instrucciones basicas-para-c++
Instrucciones basicas-para-c++Instrucciones basicas-para-c++
Instrucciones basicas-para-c++
 
Instrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardadoInstrucciones basicas-para-c-autoguardado
Instrucciones basicas-para-c-autoguardado
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Desarrollo aplicaciones visuales
Desarrollo aplicaciones visualesDesarrollo aplicaciones visuales
Desarrollo aplicaciones visuales
 
Programacion MatLab
Programacion MatLabProgramacion MatLab
Programacion MatLab
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 
Introduccion clips
Introduccion clipsIntroduccion clips
Introduccion clips
 
Tutorial jared
Tutorial jaredTutorial jared
Tutorial jared
 
Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2Taller de programación de sistemas. Descripción de práctica 2
Taller de programación de sistemas. Descripción de práctica 2
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++
 
Informe tecnico u4 final
Informe tecnico u4 finalInforme tecnico u4 final
Informe tecnico u4 final
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Programacion I
Programacion IProgramacion I
Programacion I
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

Más de Moisés Pérez Delgado

Conceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entornoConceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entornoMoisés Pérez Delgado
 
Conceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entornoConceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entornoMoisés Pérez Delgado
 

Más de Moisés Pérez Delgado (20)

02 resistencias y condensadores
02 resistencias y condensadores02 resistencias y condensadores
02 resistencias y condensadores
 
02 croquis y canalizacion
02 croquis y canalizacion02 croquis y canalizacion
02 croquis y canalizacion
 
02 carcasa y fuente
02 carcasa y fuente02 carcasa y fuente
02 carcasa y fuente
 
03 circuitos en cc
03 circuitos en cc03 circuitos en cc
03 circuitos en cc
 
Conceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entornoConceptos básicos de electricidad en mi entorno
Conceptos básicos de electricidad en mi entorno
 
Conceptos básicos de electricidad
Conceptos básicos de electricidadConceptos básicos de electricidad
Conceptos básicos de electricidad
 
Conceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entornoConceptos básicos de electricidad: elementos en mi entorno
Conceptos básicos de electricidad: elementos en mi entorno
 
Naturales temas 01 al 04
Naturales   temas 01 al 04Naturales   temas 01 al 04
Naturales temas 01 al 04
 
Tema 02 elementos del medio natural
Tema 02   elementos del medio naturalTema 02   elementos del medio natural
Tema 02 elementos del medio natural
 
Naturales temas 05 al 07
Naturales   temas 05 al 07Naturales   temas 05 al 07
Naturales temas 05 al 07
 
Matemáticas: Temas 1 a 4
Matemáticas: Temas 1 a 4Matemáticas: Temas 1 a 4
Matemáticas: Temas 1 a 4
 
Tema 1. El planeta Tierra
Tema 1. El planeta TierraTema 1. El planeta Tierra
Tema 1. El planeta Tierra
 
La Tierra
La TierraLa Tierra
La Tierra
 
Cálculo de circuitos: Thévenin
Cálculo de circuitos: ThéveninCálculo de circuitos: Thévenin
Cálculo de circuitos: Thévenin
 
Teoría de circuitos: superposición
Teoría de circuitos: superposiciónTeoría de circuitos: superposición
Teoría de circuitos: superposición
 
Resolución de circuitos con Kirchoff
Resolución de circuitos con KirchoffResolución de circuitos con Kirchoff
Resolución de circuitos con Kirchoff
 
Corriente alterna
Corriente alternaCorriente alterna
Corriente alterna
 
Que sabes de electricidad
Que sabes de electricidadQue sabes de electricidad
Que sabes de electricidad
 
Git: control de versiones
Git: control de versionesGit: control de versiones
Git: control de versiones
 
Qué sabes de word?
Qué sabes de word?Qué sabes de word?
Qué sabes de word?
 

Último

PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Calidad código optimiza

  • 2. 2/24 Evita los NOTICES por desbordamientos de array asociativo  error_reporting(0);  error_reporting(E_ALL ^ E_NOTICE);  Una forma mucho más elegante de hacerlo:
  • 4. 4/24 Comenta cada fichero, arriba, en la cabecera
  • 5. 5/24 Comenta cada función, encima, en su cabecera  Incluye los comentarios de lo que hace la función arriba, evita comentar en medio del código
  • 6. 6/24 Elimina el “código chatarra” de tu código de explotación  Trozos de código comentado  Funciones que no se usan  Variables que no se usan  Ficheros que no se usan  ...
  • 7. 7/24 Algunas normas de notación  Variables: camel (inicial minúscula)  Clases: camel (inicial mayúscula)  Funciones, métodos: camel (inicial minúscula)  Ficheros: camel (inicial minúscula)  Tags y atributos HTML: minúsculas
  • 8. 8/24 Separa lógica de negocio y presentación ERROR: Se mezcla lógica y presentación
  • 9. 9/24 Identación: establece siempre mismo espacio de tabulación
  • 10. 10/24 Sé consistente con los tipos  Dentro del fichero cronometro.js: ● ¿qué utilidad tiene la variable intentos? ● ¿Qué tipo de dato le va a asignar el parser de JS? ● ¿Qué tipo de dato habría sido más adecuado?  ¿De qué tipo son los datos que almacena?  Hubiera sido más adecuado entrecomillar  Mejor haber usado array asociativo para cachear BBDD en memoria
  • 11. 11/24 Nombres de variables alusivos a su cometido  En la práctica del juego del cronómetro, qué significado crees que tienen las siguientes variables:  var RALI;  $_POST[“peticion”]  var interruptor, interruptor2, interruptor3;  var RASI;
  • 12. 12/24 Cuida el lenguaje, nunca sabes a dónde puede llegar tu código
  • 13. 13/24 Identación de bloques de código Errores de identación!!! ● Antes de una llave abrir, un espacio ● Después de una llave abrir, nueva línea ● Las instrucciones dentro de un bloque, una tabulación a la derecha ● La llave cerrar en una nueva línea, justo a la altura de la instrucción que abrió el bloque ● Detrás de la llave, instrucciones con idéntica tabulación que la llave cerrar
  • 14. 14/24 Identación de funciones function funcion1() {     instruccion1;     instruccion2;     instruccion3; } Coloca exactamente un espacio Idéntica tabulación para las instrucciones consecutivas
  • 15. 15/24 Identación de bloques if     instruccion1;     if ((x < 4) || (i <= 3)) {         instruccion2;         instruccion3; ● Operadores relacionales, aislados     } con un espacio a cada lado     else { ● Cada condición con su propio paréntesis         instruccion4; ● instrucciones dentro del if, 1     } tabulación derecha     instruccion5; ● instrucciones dentro del else, 1 tabulación derecha ● Llave abrir, 1 espacio antes ● Llave cerrar justo debajo del if/else ● Al cerrar la llave, eliminamos 1 tabulador izquierda
  • 16. 16/24 Alert: Minimiza su uso  Los mensajes de Alert resultan molestos en la navegación
  • 17. 17/24 Aisla la declaración de estilos a .CSS  Ejemplo de correcto aislamiento:
  • 18. 18/24 Aisla la declaración de estilos a .CSS  Ejemplo de mal aislamiento:
  • 19. 19/24 Nombres de funciones deben contener un verbo  Las funciones son una acción, luego deben contener un verbo: actualizarResltado, calcularCoste, envierCorreo, comprobarLogin,...  Una función que se llama cronómetro, ¿qué hace? ● Difícil de intuir sin leer el código
  • 20. 20/24 Nombres de clases deben ser un sustantivo  Nombres como Jugador, JugadoresList, Partida, Torneo,... son nombres válidos de clases  NO tiene sentido una clase que se llame SortearPartido, parece más lógico que se trate de un método de una clase
  • 21. 21/24 Nombres de fichero alusivos a su contenido  Imagina los siguientes nombres de fichero: ● javascript.js ● js.js ● utilidadesFechas.js ● funcionesCifrado.js  Los dos primeros es algo así como decir “Sube pa'rriba”
  • 22. 22/24 Cada función entre líneas de separación // ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ function f1() {     ... } // ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ function f2() {     ... } // ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
  • 23. 23/24 Nombres de fichero alusivos a su contenido  Imagina los siguientes nombres de fichero: ● javascript.js ● js.js ● utilidadesFechas.js ● funcionesCifrado.js  Los dos primeros es algo así como decir “Sube pa'rriba”
  • 24. 24/24 Declaración de variables: nunca en medio  Las variables podemos declararlas al comienzo del fichero, como variables globales  También podemos declararlas al comienzo de una función  Evitar su declaración en medio del código function f1() { OK     var x;     var y;     instruccion1;     instruccion2; !!!     ...     var j;     instruccion12; }