Conflicto de estilos Java dentro de un equipo

12

Soy parte de un equipo de desarrollo de Java con un plazo de 6 semanas. Esto requiere escribir una buena cantidad de código muy rápidamente. Sin embargo, nuestro equipo de desarrollo tiene diferentes estilos de codificación. Todo, desde las convenciones de nombres hasta los métodos de abstracción, difieren entre nuestro equipo. ¿Alguien sabe de algún documento que dicte "estándares" para Java?

Para aclarar, me preguntaba si había una organización que dictara la convención de nomenclatura adecuada para las variables y funciones, por ejemplo. Esto es primordial, ya que con un plazo tan corto que no podemos permitirnos perder tiempo intentando comprender el código de los demás.

    
pregunta jozefg 22.01.2012 - 04:14

8 respuestas

18

Existe una organización de este tipo: Sun / Oracle en sí. El documento se llama Convenciones de código para el lenguaje de programación Java , y describe la mayoría de las convenciones que necesitar. Solo haga que todos acepten leerlo y seguir sus recomendaciones.

    
respondido por el Andres F. 22.01.2012 - 04:29
8

Realmente estoy etiquetando la respuesta de Andres , y me enfoco en el aspecto que da formato al código Java.

Si está utilizando Eclipse, puede configurar su formateador Java para que se formatee automáticamente al estándar Java. El formateador Eclipse también tiene otras configuraciones útiles, como los caracteres por línea (es decir, cuántos caracteres por línea antes de pasar a una nueva línea) y muchos otros. La estandarización de caracteres por línea facilita el código diff escrito por diferentes desarrolladores sin tener muchas diferencias solo por el espaciado y los saltos de línea.

Finalmente, con Eclipse, una vez que haya establecido todos los ajustes que desea, exporte su formateador como un archivo que puede importar cada miembro del equipo. Por lo tanto, si usa Eclipse, le recomiendo que explore todas las opciones, se formateará automáticamente y editará el código por usted, y luego compartirá la configuración con todo el equipo.

Supongo que los otros IDE de Java principales (IntelliJ y Netbeans) tienen una función similar para exportar la configuración de formato.

    
respondido por el Sam Goldberg 22.01.2012 - 05:06
6
  

Este [diferentes estilos de codificación] es primordial, ya que con un plazo tan corto que no podemos permitirnos perder el tiempo tratando de comprender el código de los demás.

En realidad. No es de suma importancia.

Después de 30 años como consultor, he leído un lote de códigos de muchos clientes. Es importante tener en cuenta que cada cliente (y con frecuencia dentro de la organización de un cliente) tiene diferentes estilos.

Después de leer tantos estilos, he aprendido esto.

El estilo no importa

Concéntrese en escribir un código que siempre funcione, y en escribir pruebas unitarias que demuestren que siempre funciona.

Después de haber enviado el código de trabajo, puedes arreglarlo si te has quedado sin errores para corregir y mejoras para instalar.

    
respondido por el S.Lott 22.01.2012 - 13:57
2

No te preocupes por elegir un estándar universal perfecto. Todo lo que necesita es que su equipo su acepte el estándar uno y se adhiera a él. Inventa lo que quieras, pero sé coherente.

La coherencia mejora la colaboración, la colaboración mejora el código.

Incluso si la coherencia real no ayuda, el hecho de que su equipo trabajó juntos para llegar a un acuerdo es algo bueno. Su incapacidad para aceptar algo tan simple como las convenciones de codificación dice que puede haber problemas de trabajo en equipo más grandes que acechan bajo la superficie.

    
respondido por el Bryan Oakley 05.02.2012 - 20:15
0

El Sun Java CC mencionado anteriormente no solo tiene 13 años y algunas de sus reglas están desactualizadas (como 80 caracteres por línea), sino que tampoco define las convenciones de nombres, excepto las más generales (camel para las clases) , mayúsculas para variables finales estáticas y similares).

Debe definir sus propios estándares para diferentes tipos de clases, como DAO, EJB, entidades, cualquiera que sea su uso. El Sun Java CC es como una clase base abstracta destinada a extenderse :)

    
respondido por el MaDa 22.01.2012 - 10:09
0

Como lo mencionaron otros aquí, puede buscar en línea una de las pocas 'guías de estilo' populares para Java y persuadir a todos en el equipo para que se apeguen a ellos. Algunas herramientas de verificación de código en su IDE favorito pueden ayudarlo a recordarle cuándo no lo está haciendo.

Sin embargo, a veces la política está involucrada. Una vez estoy en una situación anterior donde el desarrollador más experimentado del equipo continúa haciéndolo a su manera incluso después de que alguien mencionó la necesidad de estandarizar. En tal situación, tal vez sea mejor observar el estilo de su código y seguirlo, ya que probablemente tenga más conocimientos sobre la base del código y los requisitos, y es posible que no desee perder tiempo pisando los dedos de los pies aunque esté siendo difícil. Que es lo que el resto de nosotros hicimos en esa situación particular y lo seguí a regañadientes.

Por lo tanto, también es importante considerar tu situación.

    
respondido por el snowpolar 22.01.2012 - 09:25
0

El tío Bob muestra un estilo de codificación más moderno y actual en su libro "Código limpio". Lamentablemente no contiene lista de elementos. Lo tienes que leer. Se dice que para ver sus convenciones hay que leer su código. El tío Bob es sin duda una especie de institución. El libro es una excelente lectura de todos modos, por lo que incluso si es demasiado tarde para leerlo ahora, léalo lo antes posible.

    
respondido por el Peter Kofler 05.02.2012 - 20:03
0

Lo que realmente importa en el código es la baja complejidad ciclomática, el pequeño alcance, la alta cohesión y la elección de identificadores expresivos. Dados esos, el código se vuelve fácil de entender y ese código es bueno.

Le sugiero que consulte Programación Spartan .

La mayoría de los estándares de codificación le dicen cómo hacer que un código mal escrito se vea bonito y la mayoría de las discusiones sobre "estilo de codificación" se refieren al formato. El formato del código consiste en representar visualmente la estructura de su código. Es trivial y automatizable y apenas tiene que hacer nada con el estilo de codificación, porque el estilo de codificación no se trata de cómo se representa la estructura de código, sino de cómo se estructura el código.
También hay muchas guerras religiosas sobre convenciones de nombres, aunque en realidad son solo un truco para evitar el diseño deficiente. Un nombre es bueno, si dice lo que significa. Cuanto más pequeños y claros sean sus ámbitos, más fácil será elegir un nombre de este tipo.

    
respondido por el back2dos 05.02.2012 - 22:22

Lea otras preguntas en las etiquetas