Cargando...
 

Buenas practicas de programacion

  • JSON es nuestro amigo
  • Keep It Simple, Stupid! (KISS) , Do One Thing (DOT), and do it well, Don't Repeat Yourself (DRY)
    • Variables:
      • todo en minusculas
      • Nombres sencillos, entendibles, descriptivos,...
    • Funciones :
      • camelCase
      • cortas, descriptivas
      • argumentos de las funciones
      • ninguna funcion sin su nombre
      • Sin codigo oculto
      • notacion ...
      • closures
    • Clases
      • PascalCase
  • SCOPE y sus amigos
  • Elegir una nomenclatura
  • MVC
    • Plantillas
  • Conoce primero las bases (Javascript -> jQuery -> jQuery UI)

Guia de estilo

  • Variables : nombrescomoeste
  • variablesprivadas : _nombrescomoeste
  • Funciones : nombresComoEste
  • Clases : NombresComoEste
  • Definicion de clases
    /** @constructor */
     function SomeConstructor() { 
      this.someProperty = 1; 
    }
     Foo.prototype.someMethod = function someMethod() {
     ... };
  • Namespaces : nombres.como.este
  • Documentacion : formato jsdoc
  • Lineas de no mas de 100 caracteres;
  • jquery : variables con $ delante
  • jQuery :
    Uso de jQuery
    /** Bad **/
    
    $("#miid").css('background','black'');
    $("#miid").html("hello world")
    
    /** Good **/
    
    var miid = $("#miid");
    miid.css('background','black');
    miid.html('hello world');

  • Nombres de ficheros : nombrescomoeste.js
  • Uso de comillas simples para variables;
  • Construccion de cadenas de forma dinamica
    /** Bad **/
    var mistring = "This value is " + myvalue ;
    /** Good **/
    var mistring = `This value is ${myvalue}`;

  • No usar palabras reservadas :
    • arguments
    • class
    • private
    • protected
    • ...
  • Definir valores por defecto en funciones
    function mifuncion (options){
    var defaultvalues = {name:"Raul",surname:"Rodrigo"};
    options = $.extend({},defaultvalues,options);
    }
  • Funciones sin demasiados argumentos
/** Bad **/
function mifuncion (options,arg1,arg2,arg3,arg4,arg5){
.....
}
/** Good **/
function mifuncion (options , args){
   /* args = {arg1: .. , arg2 : ... arg3 : ... arg4 : ... arg5 : ...}
}
  • Ninguna variable sin var delante
  • Comentarios :
    • FIXME : para cosas a arreglar pero que estan funcionando
    • TODO : para cosas que hay que hacer como mejoras, etc.
    • WIP : Trabajo interrumpido por incidencias, etc. Supone un punto de entrada para seguir cuando se retorna

Bibliografia

https://github.com/rwaldron/idiomatic.js/tree/master/translations/es_ES
Libros gratuitos de o'reill en linea
Javascript Cookbook
Programming JavaScript Applications
Patrones de diseño en Javascript
Codigo limpio
Guia de estilo de airbnb

Mastodon E-Mail

© 2019, Generalitat 

Conselleria de Educación, Investigación, Cultura y Deporte

Contacto