Historias
Slashboxes
Comentarios

Login Barrapunto

Login

[ Crear nueva cuenta ]

Reglas de estilo en CSS y PHP para equipos de desarrollo

editada por Yonderboy el 17 de Agosto 2006, 08:52h   Printer-friendly   Email story
desde el dept. buen-estilo
freddier nos cuenta: «La mayoría de los que hemos trabajado en grandes grupos de programadores sabemos lo importante que es usar un estándar de estilo para programar y lo difícil que es lograr que todos en el equipo se apeguen a él. Por eso hemos publicado dos guías de estilo para CSS y para PHP, sencillas y fáciles de entender, de modo que puedan ser adaptables a cualquier proyecto. Algunas de estas recomendaciones de programación están basadas en guías de proyectos tan conocidos como la de phpBB

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • fale

    (Puntos:1, Inspirado)
    por pobrecito hablador el Jueves, 17 Agosto de 2006, 09:26h (#795931)

    Todo esto está muy bien, ya que cuando trabajas en grandes grupos de programación debes asegurarte que todo el código sea lo más homogeneo posible, en muchas ocasiones se tiene que modificar código que ha escrito otra persona y cosas así facilitan esa tarea.

    El problema que yo veo a estas reglas es que atienen a un criterio arbitrario, en la mayoría de ocasiones cambiarán los criterios de una empresa a otra. Algunos están bien ya que permiten al programador cierta libertad de elección (lógica de la aplicación) otras "reglas" obligan a crear monstruosos códigos inmantenibles (me ha pasado en varias ocasiones al tener que ceñirme a reglas de "calidad de código", tan sólo por que en ciertos casos no se puede utilizar una consulta sql o tener que repetir código ya que se usa más de un bucle y eso no está permitido). El caso es que si se diseñan unas buenas reglas de "calidad de código", no sólo se puede programar una buena aplicación, si no que ayudará al mantenimiento de la aplicación que se ha desarrollado facilitando la tarea a los que curran, los programadores.

    • Re:fale de tavito (Puntos:3) Jueves, 17 Agosto de 2006, 11:03h
  • Validar al subir al repositorio

    (Puntos:5, Interesante)
    por McPolu (19560) <McPolu@gmail.com> el Jueves, 17 Agosto de 2006, 09:30h (#795934)
    ( http://mcpolu.blogspot.com/ | Última bitácora: Viernes, 01 Agosto de 2008, 12:00h )
    La única manera de conseguir que este tipo de políticas se cumplan es configurar el repositorio (cvs, svn, PVCS, ClearCase o lo que sea) para que no permita hacer check-in de ficheros que no cumplan las reglas.

    Para un buen desarrollo del proyecto: pocas normas, que estén muy claras y que se validen de manera automática. En caso contrario las normas de estilo acaban siendo ignoradas, incluso en los proyectos en los que hay una etapa de revisión de código antes de integrar a la rama principal.
    --

    En España la mejor manera de guardar un secreto es escribir un libro.

  • por tocameloswebs (20336) el Jueves, 17 Agosto de 2006, 09:33h (#795935)
    ( http://gamerachan.org/ )

    Seguramente muchos ya siguen alguna guia muy parecida a estas. Yo personalmente uso una más o menos igual. Por ejemplo prefiero usar mayusculas para separar los nombres, en vez del guión bajo "_". O los operadores unitarios muchas veces agradezco que esten no esten en una línea solamente. Por cierto, la traducción de ese ejemplo esta mal.

    Ahhh, y hay un leve fallo tanto en Poner espacios entre signos, como en Precedencia de operadores y en No uses variables sin inicializar por coherencia debería estar aplicada la regla de Números dentro del código.

    La guia de CSS debería dar algo más de libertad. ¿Porque el header y no el footer? (¿se escribe así?).

    El mensaje de esa separación me parece buenisimo pero hay que hacerle mucho caso al diseño para definir que elementos ponemos en un fichero aparte tal y como hace el ejemplo con el header.

    Por lo demás unas guias muy correctas y sencillas que seguro quitan más de un dolor de cabeza trabajando en equipo.

    Enhorabuena.

  • El tabulador es dañino

    (Puntos:3, Interesante)
    por McPolu (19560) <McPolu@gmail.com> el Jueves, 17 Agosto de 2006, 09:52h (#795946)
    ( http://mcpolu.blogspot.com/ | Última bitácora: Viernes, 01 Agosto de 2008, 12:00h )
    En ambas guías se recomienda utilizar tabuladores en lugar de espacios y no puedo estar más en contra de tal política. Tab es DAÑINO.

    En un entorno de desarrollo grande se utilizarán diferentes herramientas para trabajar con el mismo código. Algunos desarrolladores utilizaran Eclipse, otros Visual Studio, otros Ultraedit/TextPad y algún friqui habrá que escriba el código en vim o notepad. Además, el código hay que verlo con alguna(s) herramienta(s) de comparación de versiones donde también habrá variedad. Algunos utilizarán el comparador integrado con el repositorio mientras que otros usarán UltraCompare o vaya usted a saber qué.

    Si hay mezcla de espacios y tabs el resultado será horrible. El código que se ve bien indentado en una herramienta no se verá bien en ninguna de las demás. Pero si se utilizan sólo tabuladores el resultado tampoco es óptimo, ya que algunos tendránm configurado el tabulador a dos espacios, otros a cuatro y otros a ocho. En cuanto un fichero haya sido editado con tres o cuatro herramientas diferentes ya no habrá manera de seguirlo porque, lo abras con lo que lo abras, la indentación estará mal.

    Sin embargo, si fuerzas a que todo el mundo use espacios poniendo una regla en el repositorio que impida subir ficheros que contengan [tab], el código se verá correctamente indentado en todo tiempo, en todo lugar y con toda herramienta.
    --

    En España la mejor manera de guardar un secreto es escribir un libro.

  • por octavodia (4411) el Jueves, 17 Agosto de 2006, 10:04h (#795950)
    Este tipo de documentos estan muy bien, pero es practicamente imposible cumplirlos siempre, ya sea por olvido o por rapidez al codificar.

    Sin embargo, si utilizas un indentador automatico de codigo, te libras de estos problemas de un plumazo. Como indent para C. Cada cual programa como mas le gusta, y antes de a~adir su codigo al proyecto lo pasa por el indentador automatico, con lo que se consigue que no este pensando en cosas como si debe poner o no una llave en una nueva linea o en la misma y se concentre en la programacion.

  • CheckStyle

    (Puntos:1)
    por bac (2448) el Jueves, 17 Agosto de 2006, 11:37h (#796012)
    ( http://barrapunto.com/~bac/bitacora | Última bitácora: Domingo, 09 Enero de 2005, 18:54h )
    Hola,

    Este programa que comentáis, CheckStyle, ¿es sólo válido para Java o también funciona con otros lenguajes? (por ejemplo, PHP).

    Yo estaría interesado en encontrar algo para PHP... :-)
    --

    __________________
    bac to the future!
    • Re:CheckStyle de clbustos (Puntos:1) Viernes, 18 Agosto de 2006, 02:56h
      • Re:CheckStyle de bac (Puntos:1) Viernes, 18 Agosto de 2006, 18:29h
  • La maldita notación húngara

    (Puntos:4, Informativo)
    por JotaRP (123) el Jueves, 17 Agosto de 2006, 11:51h (#796022)
    ( http://mi.barrapunto.com/jotarp | Última bitácora: Lunes, 19 Mayo de 2003, 07:19h )
    Los que despotrican de la "notación húngara" deberían leerse primero este artículo de Joel Spolsky [joelonsoftware.com]. Para los ansiosos: hay una notación húngara buena (la original) y una notación húngara mala.

    Pero, claro, que se puede esperar cuando hasta en la documentación de linux [unsw.edu.au] se le echa la culpa de los bugs de los programas de Microsoft. Quizá tienen razón y el problema de Microsoft es que usa la notación húngara... mala. O quizá Linus tampoco se ha leido el artículo de Joel.

    Yo me he encontrado al menos con un software (en PHP) que utiliza notación húngara buena y me ha resultado muy útil. De hecho, ha sido el código que más fácil me ha resultado meterle mano. Ver Mantis Coding Conventions [mantisbt.org].

    Creo que las mismas razones que llevan a decir que conviene nombrar una función como crear_usuario() en lugar de simplemente crear(), sirven para recomendar nombrar a una variable global con g_nombre en lugar de simplemente nombre.

    --
    Quemando karma...
  • por Sergiodf (15067) el Jueves, 17 Agosto de 2006, 13:23h (#796066)
    ( Última bitácora: Miércoles, 09 Julio de 2008, 14:03h )

    Es sencillo, úsalos en una sola línea y a la derecha, ejemplo:

    //Esto está MAL
    $cosa = $matriz[$i--];
    $otra = $matriz[++$y];

    //Esto está BIEN
    $i--;
    $y++;
    $cosa = $matriz[$i];
    $otra = $matriz[$y];

    Que pena que lo que está BIEN no hace lo mismo que lo que está MAL.

    ¿O es que la regla es justamente para los que no entienden como funcionan los operadores unarios de suma y resta?

  • por anv (15549) el Jueves, 17 Agosto de 2006, 13:35h (#796074)
    ( http://barrapunto.com/ )
    Los tabs en lugar de espacios sólo sirven cuando una sola persona lee el código y lo hace siempre con el mismo editor.
    Yo mismo, programando con quanta y a veces con vi, me encuentro con que se me desarman las indentaciones por las "diferencias de opinión" entre un editor y otro sobre lo que significa un tab.
    Usando espacios uno se asegura de que el fuente se verá en todas partes exactamente como el programador lo escribió. Usando un estilo legible se obtendrá un código legible independientemente de los seteos del editor pero únicamente si no se usan tabs.
  • tabs o espacios?

    (Puntos:2)
    por anv (15549) el Jueves, 17 Agosto de 2006, 14:00h (#796091)
    ( http://barrapunto.com/ )
    Estemmm... si dicen que hay que usar tabs en lugar de espacios para que cada uno formatee como le guste, por qué será que dicen también esto:
    General Formatting * Use TABS with a size of 4

    Debe ser que se han dado cuenta de que al mostrarse diferente en cada editor, los tabs hacen dificil la lectura. En lugar de pedir que se usen tabs de tamaño 4 deberían simplemente prohibir el uso de tab, así usarían una regla en lugar de dos.
  • por demonight (16033) <demonight@jabber.org> el Jueves, 17 Agosto de 2006, 17:16h (#796223)
    ( http://redkaos.net/ )

    Hay cosas con las que no estoy deacuerdo, pero dejando a un lado lo de los Tabs, que ya se ha comentado, en ese articulo hay algunos errores.

    Entre otras cosas, espero que nadie programe las constantes en PHP así:

    $ARTICULOS_PORTADA = 10;

    Escribirlo en mayusculas no convierte a una variable en contante, mejor sería definirla como constante define ('ARTICULOS_PORTADA' , 10); [php.net]

    El resto de errores se encuentran con el clasico prueba y error ;-P

  • Constantes...

    (Puntos:2)
    por almarag (7381) el Jueves, 17 Agosto de 2006, 18:29h (#796257)
    ( http://www.almarag.info/ | Última bitácora: Miércoles, 16 Enero de 2008, 18:05h )
    Creo que es equivocado no utilizar constantes en PHP con la función define(). Primero porque es mucho más claro definir un:

    define( MICONSTANTE, valor );

    que un

    $MICONSTANTE = valor;

    porque se puede prestar a malas intepretaciones, sobre todo cuando dichas constantes aparecen en ciclos:

    for ( $i = 0; $i MICONSTANTE; $i++ )

    aquí se ve claramente que la constante MICONSTANTE es eso, y que no se redefine en ningún lado por error, por lo que se evitan muchos errores de lógica que luego son difíciles de rastrear.
    --
    -- Si yo no soy yo, entonces tú no eres quien dices
  • por fuk (10539) el Jueves, 17 Agosto de 2006, 20:24h (#796337)
    ( http://barrapunto.com/ | Última bitácora: Miércoles, 13 Septiembre de 2006, 17:19h )
    Ya que estamos en el tema...¿Hay alguna forma de hacer indentacion automatica con kate/quanta/kwrite para PHP de la forma que lo hace vim, o ultraedit (windows)?
    Quizás un alma caritativa que haya hecho un archivo de sangrado basado en variables para esto...
    --


    Divide et impera
  • por El pedo anal (25389) el Jueves, 17 Agosto de 2006, 09:23h (#795928)
    ( http://barrapunto.com/ | Última bitácora: Lunes, 17 Marzo de 2008, 15:03h )
    bien formateado, pero mal colocado.

    je

    ojú!
    [ Padre ]
  • Re:No es por nada...

    (Puntos:1, FueraDeTema)
    por Semen-up (23704) el Jueves, 17 Agosto de 2006, 14:23h (#796110)
    ( http://barrapunto.com/ )
    Ostia! Es verdad.

    Fijate, que estamos hablando de guias de codificación, y la seguridad no tiene nada que ver. Que cosas.

    Si al final va a ser verdad que la culpa de los fallos de seguridad la tiene cualqueira menos los desarrolladores xD.
    [ Padre ]
  • Re:discrepando

    (Puntos:3, Interesante)
    por bufalo_1973 (13194) el Jueves, 17 Agosto de 2006, 22:00h (#796395)
    ( http://barrapunto.com/ | Última bitácora: Viernes, 29 Junio de 2007, 18:25h )
    Estoy de acuerdo en que:

    if ($cosa)
    {
                    funcion();
    }

    es pasarse con las ganas de claridad. Pero sólo si sabes positiva y totalmente que en ese if nunca habrá más líneas. Y como eso es prácticamente imposible, salvo en casos triviales, el usar esa disposición permite añadir código sin modificar la regla de claridad.
    --

    La libertad se mide en la que le damos a los demás, no en la que nos tomamos nosotros.
    [ Padre ]
  • 6 respuestas por debajo de tu umbral de lectura actual.