¿Cómo se trabaja con un programador con un estilo de codificación radicalmente diferente? [cerrado]

StackOverflow https://stackoverflow.com/questions/2146940

  •  23-09-2019
  •  | 
  •  

Pregunta

¿Alguien ha trabajado con un programador con un estilo de codificación radicalmente diferente? ¿Cómo Jive juntos sin querer borrar y volver a escribir cada código de los demás?

¿Fue útil?

Solución

elija uno y ir con él.

Si les resulta difícil llegar a un acuerdo, se toman el tiempo para pros y los contras de la lista que incluye:

  • herramienta de apoyo para auto formateo ( improvisada Sé Eclipse y Visual Studio pueden hacer esto con un archivo de configuración )
  • la conformidad con los estándares de la industria en general ( Sun han publicado las convenciones estándar de Java, tal vez hay un equivalente en su idioma? )
  • la conformidad con, o el costo de la modificación, pre-existente fuente ( si tiene un millón de líneas en un estilo, lo difícil va a ser para actualizar ese código para el nuevo estilo? )
  • ... cualquier otro factor que ninguno de los dos es importante encontrar ( Esto puede incluir el costo para familiarizarse con el nuevo estilo )

Si usted se encuentra trabajando con alguien demasiado terco para cambiar y adaptarse, además, tiene un problema más grande que chocan estilo de código, y se trata de que está fuera del alcance de esta pregunta.

Si usted es la persona para adaptarse a su estilo, evitar la declaración "Bueno, si nos habíamos elegido mi camino ...". Si se ha acordado en un solo estilo, comprometerse plenamente con él.

Antes de llegar a este punto, sin embargo, probablemente debería preguntarse: ¿cuáles son los beneficios de tener código consistente? Es posible que el costo de código consistente (molesta al otro desarrollador) no vale la pena el beneficio.

Otros consejos

Estamos de acuerdo en un estilo de programación estándar y aplicarlo en forma de archivos de configuración de Visual Studio.

Esto es un problema de la comunicación humana. Sólo tiene que hablar el uno al otro. No a través de código, en persona.

comunicarse con el otro desarrollador. Acordar un estilo de programación que combina lo mejor de ambos mundos?

Cuando se dice "estilo de codificación" Qué quiere decir el formato o una diferencia en la forma en que la estructura de su código?

En cuanto a estilo de codificación, el equipo debe probablemente tendrá un formateador de estilo y hacer cumplir algún tipo de formato antes de cometer. De esta manera las fusiones no van a conducir a la fusión loco.

Para la diferencia estructural en el código me temo que no hay una solución fácil. Si uno es un espagueti codificador núcleo duro, en comparación con un objeto fanática codificador tendrá que sentarse en una mesa y discutir ambos enfoques y cómo se aplican en su proyecto particular. Recuerde que no hay una respuesta absoluta, todo depende del contexto. Pruebe también recurrir a alguien que ambos respecto a recomendar las mejores prácticas, hacer revisión de código de validación de código, y ayuda a determinar un enfoque común (líder técnica o tecnología PM).

  • utilizando el IDE en combinación con los plugins de estilo de comprobación (En el caso de Java - Checkstyle, el PMD) el líder del equipo, o incluso el director del proyecto (si es una persona técnica) puede obligar a las directrices de estilo de código sobre todo el equipo .

  • simplemente ignorar su estilo - He trabajado en proyectos de Java, donde algunos desarrolladores estaban poniendo las llaves en una nueva línea, y tendían a olvidar los espacios en los que se necesita en general - y no tenía ningún problema con que después de la semana puño.

  • discutir el código de estilos y compromiso, a continuación, aplicar las capacidades IDE mencionados en el primer punto.

Me voy a responder a las “habilidades blandas” necesarias para llevarse bien con alguien que tiene el estilo de programación muy diferente que yo. En general trato de concentrarse en tres principios simples; profesionalidad, la confianza y el ego.

En términos de profesionalismo su simple inaceptable para simplemente volver a escribir o borrar el código de otra, porque su estilo es diferente a la suya. Un enfoque profesional sería entender primero por qué considero mis ideas / estilo / preferencias para ser mejor. Entonces yo esperaría que sentarse con la otra persona y hablar de mis puntos, y esta es la parte importante, mantener la mente abierta. El hecho de que me gusta mi idea no quiere decir que está bien o correcto. Un verdadero profesional será capaz y está dispuesto a aceptar que los demás las ideas son tan valiosos y venir desde una perspectiva diferente.

Yo personalmente tiene que confiar en mis colegas desarrolladores. El viejo dicho es que la confianza se debe ganar no trajo y esto es cierto para el desarrollo de software. La confianza puede ser construido desde una variedad de fuentes como el intercambio de información, ideas y código. Un equipo productiva por lo general tiene un nivel implícito de confianza entre sus desarrolladores.

Una de las principales razones por las que las personas no se llevan bien es el ego. Nuestro ego nos permiten sentimos amenazados, superior, vergüenza y una variedad de otras emociones humanas. Dejando a un lado nuestros egos y hablando de nuestros problemas con la otra persona es siempre un comienzo bueno.

Su estilo de codificación no es la norma. Su estilo de codificación no es la norma. La es la norma de estilo de codificación elegido por el proyecto o, a veces, toda la organización (y que debe ser documentado en alguna parte) y ambos tienen que cumplir con ella. Herramientas como Checkstyle (con Java) se pueden utilizar para asegurar la conformidad. Si utiliza la herramienta tal, distribuir su archivo de configuración. También distribuir archivos de configuración de formato IDE.

Muchos de código abierto (o corporativos) proyectos hacen uso de estos principios (véase, por ejemplo, de XWiki estilo de código Java , Estilo Código Maven código y o Guía de estilo del lenguaje C Apache desarrolladores ). Esto funciona para los desarrolladores distribuidos en todo el mundo, no me dicen esto no puede funcionar para los desarrolladores en una misma habitación.

Si el proyecto no tiene ningún normas del código, entonces es tal vez el momento de definir una parte y sólo espero que usted será capaz de hacerlo como dos adultos (de hecho, esto debe ser una decisión de equipo). Si es necesario, recuerde por qué un estilo de código unificado es importante (para una mejor legibilidad, para diff). Si, por desgracia, esto no funciona, entonces tener un jefe decida por ti.

Tengo que trabajar con los desarrolladores de todos los días que tienen muy diferentes estilos de codificación a la mía y como desarrollador, se aprende a tratar con él.

Usted tiene 4 opciones, - que o bien convertirlos - se obtiene convertida - usted propone un estándar de la compañía. - vive con ella

.

Si se trata de algo así como anteponiendo la variable con el tipo, sostienen el punto de que una variable debe ser lo suficientemente descriptivos para que tipo se puede inferir.

personname vs vs sPersonName strPersonName <-? ¿Cuál elegir

si se refiere a formatear, ctrl-a, k f <- da formato a su código muy bien en VS:)

Me resulta raro que sólo hay un otro desarrollador con los que tienen que ponerse de acuerdo sobre estilos de codificación, y que los diferentes grupos o proyectos tienen diferentes estilos. Tienes que aprender a adaptarse a diferentes estilos de codificación.

Si hay sólo dos de ustedes, entonces hay sólo dos de ustedes que necesitan ponerse de acuerdo sobre el estilo común de codificación que se va a usar.

Si no puede ponerse de acuerdo sobre un estilo de programación, a continuación, sólo tiene que tratar con él. Trate de trabajar de una manera que es productivo -. Y eso significa no volver a escribir el código de la otra persona sólo para que coincida con su estilo

Puede haber algunos aspectos estilísticos que sea molesto, y lo mejor es centrarse en aquellos. El estilo puede convertirse fácilmente en una discusión religiosa, por lo que es a menudo más efectivo centrarse en argumentos cuantitativos o empíricos para los cambios. La elegancia y la belleza física de su código no puede ganar la discusión -., Pero que muestra los casos en que un cambio de estilo hubiera dirigido la depuración innecesaria puede ser eficaz

Depende.

Si el otro no es particularmente fácil desarrollador va, entonces tiendo a ir con su estilo de programación, incluso si no estoy de acuerdo con él en lugar de forzar la situación - en este caso, es realmente una cuestión de ¿Cuál es más incómoda , su estilo de codificación o el dolor que obtendrá al hacer un alboroto?

Si el otro desarrollador es más abierta entonces yo podría hablar sobre cosas como la codificación / estándares de nomenclatura (espero que cosas como la arquitectura general se examinarían todos modos)

Vas a tener que inventar un estilo adecuado para los dos y se adhieren a ella. Y si la comunicación es un problema, sólo se adhieren a una idea: "cuando escribo mi propia, que no toque el otro código"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top