Login Barrapunto
Reglas de estilo en CSS y PHP para equipos de desarrollo
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.
Reglas de estilo en CSS y PHP para equipos de desarrollo
|
Log in/Crear cuenta
| Top
| 72 comentarios
| Buscar hilo
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.

fale
(Puntos:1, Inspirado)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.
Validar al subir al repositorio
(Puntos:5, Interesante)( http://mcpolu.blogspot.com/ | Última bitácora: Viernes, 01 Agosto de 2008, 12:00h )
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.
Re:Validar al subir al repositorio
(Puntos:4, Interesante)( http://mcpolu.blogspot.com/ | Última bitácora: Viernes, 01 Agosto de 2008, 12:00h )
Existen eventos que se disparan mientras estás trabajando con el repositorio. En ClearCase se llaman triggers y en CVS/SVN se llaman hooks, pero la idea es la misma. Tienes que capturar el evento pre-checkin y ahí colocas un script con lo que quieras. Por ejemplo puedes hacer uso de regex y así validar que no hay tabs. Ejemplos hay muchos, para subversion [google.es], cvs [google.es] u ClearCase [ibm.com].
En España la mejor manera de guardar un secreto es escribir un libro.
interesantes guias de estilo
(Puntos:1)( 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)( http://mcpolu.blogspot.com/ | Última bitácora: Viernes, 01 Agosto de 2008, 12:00h )
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.
Indentadores de codigo
(Puntos:1)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)( http://barrapunto.com/~bac/bitacora | Última bitácora: Domingo, 09 Enero de 2005, 18:54h )
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!
La maldita notación húngara
(Puntos:4, Informativo)( http://mi.barrapunto.com/jotarp | Última bitácora: Lunes, 19 Mayo de 2003, 07:19h )
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...
Operadores unarios de suma y resta
(Puntos:1)( Última bitácora: Miércoles, 09 Julio de 2008, 14:03h )
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?
tabs en lugar de espacios
(Puntos:2)( http://barrapunto.com/ )
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)( http://barrapunto.com/ )
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.
Definiendo constantes variables
(Puntos:1)( 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í:
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)( http://www.almarag.info/ | Última bitácora: Miércoles, 16 Enero de 2008, 18:05h )
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
Autoindentacion - kate/katepart
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Miércoles, 13 Septiembre de 2006, 17:19h )
Quizás un alma caritativa que haya hecho un archivo de sangrado basado en variables para esto...
Divide et impera
Re: Me parece bien (bien formateado)
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Lunes, 17 Marzo de 2008, 15:03h )
je
ojú!
Re:No es por nada...
(Puntos:1, FueraDeTema)( http://barrapunto.com/ )
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.
Re:discrepando
(Puntos:3, Interesante)( http://barrapunto.com/ | Última bitácora: Viernes, 29 Junio de 2007, 18:25h )
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.