Estandares de codificacion

24
Estándares de codificació Jose Rosemberg Reyes Muñoz

description

Estandares de codificacion Java PHP

Transcript of Estandares de codificacion

Page 1: Estandares de codificacion

Estándares de codificaciónJose Rosemberg Reyes Muñoz

Page 2: Estandares de codificacion

• Un estándar de codificación completo comprende todos los aspectos de la generación de código. Si bien los programadores deben implementar un estándar de forma prudente, éste debe tender siempre a lo práctico. Un código fuente completo debe reflejar un estilo armonioso, como si un único programador hubiera escrito todo el código de una sola vez.

Qué es?

• Al comenzar un proyecto de software, se debe establecer un estándar de codificación para asegurarse de que todos los programadores del proyecto trabajen de forma coordinada.

• La legibilidad del código fuente repercute directamente en lo bien que un programador comprende un sistema de software. El mantenimiento del código es la facilidad con que el sistema de software puede modificarse para añadirle nuevas características, modificar las ya existentes, depurar errores, o mejorar el rendimiento.

Page 3: Estandares de codificacion

Nomenclatura• Los nombres que se utilicen deben ser puestos de acuerdo a lo que contienen.

MultimediaObjetos para ejecución

Page 4: Estandares de codificacion

Variables

Para la definición de variables se debe tener presente las siguientes consideraciones:

• Los nombres de las variables deben ser cortos y significativos.• La elección de un nombre de variable debe ser diseñado para demostrar el propósito

de su uso a cualquier observador.• Los nombres de variables de un solo carácter deben ser evitados, solo usarlo para

variables temporales, como i, j o k para integres.

Page 5: Estandares de codificacion

Los nombres de  variables deben seguir siempre la siguiente estructura:<prefijo><nombre>

Donde:<prefijo> Describe el tipo de dato de la variable.<nombre> Describe la variable

Variables

Prefijos para los nombres de las variables

Page 6: Estandares de codificacion

ConstantesPara la definición de constantes debe tener presente las siguientes consideraciones:•Los nombres de variables declaradas como constante deben ser todas en mayúsculas con palabras separadas por guion abajo (“_”).•Las constantes ANSI deben ser evitadas para facilidad de la Depuración.•Se debe seguir las mismas convenciones que se usan para variables con respecto a los prefijos para tipo de dato.

Ejemplos:public static final int  IMIN_WIDTH = 4;public static final int IMAX_WIDTH = 999;public static final int IGET_THE_CPU = 1;

Page 7: Estandares de codificacion

Para la definición de clases debe tener en cuenta las siguientes reglas:

• Tratar de que el nombre de la clase sea simple y descriptivo• Use palabras completas, evite abreviaturas o acrónimos, a menos que sean mucho más usadas que el

nombre completo. • Los nombres de las clases deben ser sustantivos. • Los nombres de clase deben empezar con una letra mayúscula y el resto de letras deben estar escritas en

minúscula. En el caso que pueda tener más de una palabra, las primeras letras de cada palabra interna deben ser con mayúscula.

• Los nombres de clase no pueden contener espacios ni caracteres especiales, sólo son permitidas las letras de la “a” a la “z” y los números del 0 al 9.

Clases

Page 8: Estandares de codificacion

Para definir los nombres de los métodos deberá tener presente las siguientes reglas:

• Los nombres de los métodos deben empezar con una letra minúscula y el resto de letras deben estar escritas en minúscula.

• Los nombres de los métodos deben ser verbos o palabras que identifiquen de manera general el objetivo del método

• Los nombres de los métodos no pueden contener espacios ni caracteres especiales, sólo son permitidas las letras de la “a” a la “z” y los números del 0 al 9.

• Si el nombre de método requiere estar compuesto por más de una palabra, cada palabra adicional debe empezar con mayúscula.

Métodos

Ejemplos:

run();runFast();getBackground();

Page 9: Estandares de codificacion

Java

Page 10: Estandares de codificacion

Convenciones de programación en Java

•Usar cuatro espacios como unidad de indentación. •Cuando una expresión no entre en una sola línea, se debe romper de acuerdo a estos principios generales:

• Romper después de una coma• Romper antes de un operador.• Alinear la nueva línea al principio de la expresión al mismo nivel de la

línea anterior.• Si las reglas anteriores conducen a la confusión del código o el código

se alinea contra el margen derecho, indentamos menos espacios

Identación

Page 11: Estandares de codificacion

Declaración de variables•Se debe declarar cada variable en su propia línea.•Es válido inicializar variables al momento de su declaración.

Page 12: Estandares de codificacion

SentenciasBuscar usar sentencias simples, cada sentencia debe ser escrita en su propia línea, es decir, no utilizar líneas como:

No utilizar el operador coma para agrupar declaraciones múltiples. Evitar:

Sentencias If

Page 13: Estandares de codificacion

Sentencias For• Deben tener la siguiente forma:

• Una sentencia for vacía (una en la cual todo el trabajo es hecho en la cláusula de inicialización, condición y actualización) debe tener la siguiente forma:

Sentencias WhileWhile vacio

Page 14: Estandares de codificacion

Concatenaciones•La concatenación de cadenas String no debe realizarse con la unión de varias cadenas, pues esto consume recursos de memoria innecesariamente. Se debe utilizar la clase StringBuffer para realizar la concatenación.•Este es un modo incorrecto de concatenar cadenas:

•Este es un modo correcto de concatenar cadenas:

Page 15: Estandares de codificacion

PHP

Page 16: Estandares de codificacion

Este es el primero de los estándares y nos especifica las siguientes reglas:

Puntos Obligatorios•Los namespaces y las clases deben tener la siguiente estructura ()*•Cada namespace debe tener un namespace superior ("Vendor name").•Cada namespace puede tener tantos sub-namespaces como se quiera.•Los nombres de los namespaces o clases deben ser separados por un guion bajo (_).•Todos los archivos deben tener la extensión .php.•Los nombres de los namespaces o clases deben ser ordenadas alfabéticamente.

PSR-0

Page 17: Estandares de codificacion

PSR-1, PSR-2, PSR-3Convenciones•Las funciones sólo deben retornar un sólo valor.•Los nombres de espacio y las clases deben seguir las reglas del PSR-0.•Las constantes deben ser definidas en MAYÚSCULAS y utilizando guion bajo (_) cómo separador.•Métodos y funciones deben ser escritos utilizando la técnica camelCase.•Debemos de validar que la función que vamos a crear no exista utilizando la función function_exists().•Las llaves deben de estar abajo sólamente en las clases y métodos.•La identación debe ser con un tabulador establecido a 4 espacios.•Las constantes true, false y null deben ser escritos en minúsculas.•El número de caracteres por línea deben ser de 80 columnas aunque también esta aceptado que sean hasta 120.•Ya no debes utilizar la palabra reservada var para declarar una propiedad, debes utilizar public, private, static o protected.•Debe haber un espacio después de cada estructura de control (if, for, foreach, while, switch, try...catch, etc.).

Page 18: Estandares de codificacion
Page 19: Estandares de codificacion

La documentación en los códigos debe ser cómo el siguiente código:

Page 20: Estandares de codificacion
Page 21: Estandares de codificacion
Page 22: Estandares de codificacion
Page 23: Estandares de codificacion
Page 24: Estandares de codificacion