wiki:2019_mdcsl_administracion/est_desarrollo

Inicio > Actividades en el 2019 > MDCSL - Fase de Administración > Estándares de desarrollo


Estándares de desarrollo

Los estándares de desarrollo son elaborados con el fin de que todo el código en cualquier proyecto pueda verse como si una sola persona lo hubiera escrito, sin importar cuánta gente haya contribuído, utilizando las convensiones y buenas prácticas del lenguaje con el que se implementa, para garantizar inherentemente a la portabilidad, mantenimiento y apropiación del software.

Para el desarrollo de la función que soporte la firma electrónica de Murachí usando certificados digitales sin dispositivos criptográficos se usará el lenguaje de programación JavaScript.

Aspectos técnicos del desarrollo

Requerimientos usados para la investigación y desarrollo
  • OS: Debian 9.8 stretch - 64 Bits
  • Navegador: Google Chrome Versión 72.0.3626.109 (Build oficial) (64 bits)
  • JavaScript: V8 7.2.502.25
Librerías utilizadas para el desarrollo
  • jQuery v1.11.0
  • Forge v0.7.0
  • HwCrypto v0.0.10 - Modificada por CENDITEL

Convenciónes de desarrollo para JavaScript

Llamadas a los archivos de JavaScript:

  • Por norma general, el código JavaScript debe ser almacenado en su correspondiente fichero de extensión js. No se debe embeber dentro del código HTML a menos que sea un proyecto muy pequeño ya que aumenta considerablemente el peso de la página.
  • Para maximimizar el rendimiento y minimizar la demora de carga, la llamada al fichero js, se debe realizar al final del body.

Indentación:

  • 2 espacios en blanco.
  • La convención de JavaScript recomienda 2 espacios en blanco para optimizar el tamaño del archivo en un 4%, ya que, a diferencia de muchos otros lenguajes, JavaScript no se compila ni se comprime antes de enviarlo al usuario.
  • Se debe usar sangrías para facilitar la lectura del código. Aunque aumenta el tamaño de los ficheros, estos espacios son ignorados y no provocan retrasos en la ejecución. Por norma

Comentarios en el código:

  • Los comentarios en línea son más claros.
  • Para comentarios multilínea usar la convensión de Doxigen

Declaración de las variables:

  • En JavaScript no es estrictamente necesario declarar las variables antes de usarlas, pero es una buena práctica ya que nos ayudará a evitar errores de variables no declaradas o variables globales mal utilizadas.

Declaración correcta de las funciones:

  • No se deben dejar espacios entre el nombre de la función y el primer paréntesis, pero sí después del segundo y antes de la llave.
  • Los argumentos deben ir entre espacios para hacer más legible el código.
    function imprimir( valor ) {
        alert("valor");
    }
    
  • Si se trata de una función anónima, entonces sí se debe dejar el espacio entre el nombre y el primer paréntesis. Si lo hacemos siempre así será mucho más fácil distinguir entre distintos tipos de funciones.
function () {
  console.log("Esta función es anónima");
}

Convenciones de nombres:

  • Los nombres deben estar formados por letras (a .. z, A .. Z) y dígitos (0 .. 9) y guión bajo _.
  • Usar nombres descriptivos en lugar de letras o monosílabos.
  • Evitar el uso de caracteres especiales (<*¨=?) o internacionales ($£àêß).
  • Las variables deben comenzar con una letra minúscula y las variables globales con mayúscula.
  • Se deben evitar nombres de una sola letra. Debemos usar nombres descriptivos que ayuden a entender el código. Nunca debemos usar nombres que se puedan confundir con palabras reservadas del lenguaje como break, const, else, new, entre otras.
    var e = 29; //Mal
    var edad = 29; //Bien
    
  • Usar camelCase para los nombres de objetos, funciones e instancias:
    var nuevoobjeto = {...} //Mal
    var nuevoObjeto = {...} //Bien
    function imprimirdatos(){...} //Mal
    function imprimirDatos(){...} //Bien
    var nuevousuario = new Usuario(); //Mal
    var nuevoUsuario = new Usuario(); //Bien
    
  • Usar PascalCase (similar a camelCase pero la primera letra en mayúscula) para los nombres de clases y constructores:
    function moneda(valor){ //Mal
      this.cantidad = valor;
    }
    function Moneda(valor){ //Bien
     this.cantidad = valor;
    }
    var nuevaMoneda = new moneda(valor); //Mal
    var nuevaMoneda = new Moneda(valor); //Bien
    
  • Usar guión bajo delante de variables o propiedades privadas:
    this.saldo = 2000; //Mal
    this._saldo = 2000; //Bien
    

Enlaces de interes

Last modified 5 years ago Last modified on Apr 24, 2019, 11:10:45 AM