Estandarización del Codigo

Hola

Abro este link para empezar a debatir crear una lista de estandarizacion del codigo.:

Comentarios

  • edited 12:54
    La idea es listar los estandares que deben seguir los desarrolladores para escribir codigo en el framework.

    Por ejemplo:

    Las variables:

    Deben ser usadas usando la siguiente nemotecnia:

    $variable
    $variable_mas

    Las variables deben tener nombres humanos (cuando el caso lo permita), es decir evitar abreviaciones para hacerlo más entendible.

    Deben ir en minuscula y separar las letras con _ (underscore).
  • edited 12:54
    Jajajaj, vale!! Mea culpa!!! Lo entendí mal.
  • edited 12:54
    -
    Es innegable que en cualquier proyecto es sumamente importante que sus integrantes establezcan acuerdos en la forma de hacer las cosas; más aun cuando la cantidad de esos integrantes es elevada y la mayoría colaboran desde diferentes lugares. Es ese el caso de Kumbia, un Prometedor Proyecto que está siendo forjado por diversas personas a lo largo y ancho de todo el planeta.


    CONVENCIONES DE CODIFICACIÓN

    Razones:

    • El 70% al 80% del coste del código de un programa va a su mantenimiento.
    • Las convenciones de código mejoran la lectura del software, permitiendo comprender el código nuevo más rápidamente y más a fondo.
    • Si distribuyes tu código fuente como un producto, necesitas asegurarte de que esté bien hecho.
    • Cada cabeza es un mundo!, fijar estándares mejora el entendimiento mutuo.
    • Las convenciones no funcionan por arte de magia, cada desarrollador debe seguirlas y procurar que los demás también las sigan.


    Ítems:

    • Evitar (en lo posible) poner más de un return en una misma función.
    • Todas las sentencias de control (if,for,while,if-else,etc.) deben poseer sus correspondientes llaves de apertura y de cierre ({}).
    • Separar con un espacio en blanco las condiciones en una sentencia de control.

    Evitar (en lo posible) poner más de un return en una misma función:
    // EVITAR!!!
    …
    if(condicion) {
        return $algo.“cosa”;
    } else(otra_condicion){
        return $algo.“otra cosa”;
    } 
    
    
    // MEJOR!
    …
    if(condicion) {
        $algo.= “cosa”;
    } else(otra_condicion){
        $algo.= “otra cosa”;
    } 
    return $algo;
    
    
    // MEJOR! OPERADORES TERNARIOS (cuando sea posible)!
    …
       return condicion ? $algo.“cosa” : $algo.“otra cosa”;
    


    Separar con un espacio en blanco las condiciones en una sentencia de control:
    // EVITAR!!!
    if (condicion1&&condicion2||condicion3){…
    
    // MEJOR!
    if (condicion1 && condicion2 || condicion3){…
    

    Todas las sentencias de control (if,for,while,if-else,etc.) deben poseer sus correspondientes llaves de cierre y de apertura:
    // EVITAR!!!
    if (condición) 
                     una línea de código;
                     otras líneas de código;
    	
    // MEJOR!
    if (condición){ 
                    línea de código;
    }
                otras líneas de código;
    

    PD: Creo que el titulo de este tema deberia ser "CONVENCIONES DE CODIFICACION".

    Adapted with permission from JAVA CODE CONVENTIONS.
    Copyright 1995-2007 Sun Microsystems, All rights reserved
    .
  • edited 12:54
    Porque consideras que es mejor usar operadores ternarios?
  • edited 12:54
    Voy a crear una pagina en el wiki del trac para colocar las CONVENCIONES DE CODIFICACION que sean aprobadas aqui:

    <!-- m --><a class="postlink" href="http://tools.assembla.com/kumbia/wiki/ConvencionesDeCodificacion">http://tools.assembla.com/kumbia/wiki/C ... dificacion</a><!-- m -->

    Saludos
  • edited 12:54
    NOMBRES

    Yo diria diferenciar entre nombres de variables y funciones, así como de clases.

    Funciones o métodos:

    mostrar_nombre() {}

    Nombres en minusculas y si hay más de dos palabras separadas por _

    Variables:


    miVariable

    Diferenciación dentro del nombre de la variable de las partes por una mayuscula.

    Clases:

    class Personas

    Nombre en mayusculas y si son mas de dos, en mayusculas y separadas por _



    Uso de operador ternario

    Lo limitaria, única y simplement al uso de asignar valores a variables y nunca como condicionales de acciones, es decir, nunca:

    $accion = (isset($_GET)) ? mostrar_nombre() : pedir_nombre();

    $variable = (isset($_GET)) ? $_GET : 'vacio';
  • edited 12:54
    Creo que en la wki se deberian añadir la información sobre como escribir correctamente el código de condicionales, operador ternario y retorno de valores.
  • edited 12:54
    Los estandares de codificacion se estan agregando al wiki del trac
  • edited 12:54
    Se que se estan añadiendo, pero prefiero comentar el tema del operador ternario y su uso para su posible adiccion en las convenciones de codigo.

    Operador ternario solo se usara como asignador de variables y nunca de acciones.

    Mal:
    $accion = &#40;isset&#40;$_GET&#91;'id'&#93;&#41; ? add_reg&#40;$_GET&#91;'id'&#93;&#41; &#58; fail_reg&#40;&#41;;
    


    Bien
    $id = &#40;isset&#40;$_GET&#91;'id'&#93;&#41;&#41; ? $_GET&#91;'id'&#93; &#58; &lt;valor deseado si id vacio&gt;;
    
  • edited 12:54
    Buen Día...

    Considero que sería de mucha utilidad para todos que en el wiki se incluya el tema. Hace algún tiempo vi algo cuando el proyecto estaba alojado en assembla:

    http://tools.assembla.com/kumbia/wiki/ConvencionesDeCodificacion.

    Saludos

    PD: Para el momento de la edición de este mensaje el link se encuentra activo el link.
Sign In or Register to comment.