ReSharper de Limpieza de Código/volver a Formatear el Código de característica vs el control de Versiones de los Sistemas de Control de

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

  •  09-06-2019
  •  | 
  •  

Pregunta

ReSharper Código de la característica de limpieza (con "reordenar los miembros de la"y "vuelva a formatear el código"enabled) es realmente grande.Definir una plantilla de diseño mediante el uso de XML, a continuación, una simple combinación de teclas, se reorganiza toda su archivo de origen (o de la carpeta/proyecto/solución) de acuerdo a las reglas que ha establecido en la plantilla.

De todos modos, ¿crees que podría ser un problema con respecto a VCS como subversion, cvs, git, etc.?Existe una posibilidad de que las causas de muchos conflictos no deseados ?

Gracias.

¿Fue útil?

Solución

Sí, definitivamente va a causar problemas.Además de la creación de los conflictos que tiene que ser resuelto manualmente, cuando se echa en un archivo que ha sido formateado, la VCS se nota casi todas las líneas después de haber sido cambiado.Esto hará que sea más difícil para usted o un compañero de equipo para mirar hacia atrás en la historia y ver lo que cambió cuando.

Dicho esto, si todo el mundo autoformatos de su código de la misma manera (es decir, distribuir el XML de la plantilla del equipo), entonces podría funcionar bien.Los problemas sólo surgen cuando no todo el mundo está haciendo lo mismo.

Otros consejos

Estoy esperando un IDE o un editor que siempre guarda el código fuente utilizando algunas de línea de base de reglas de formato, pero permite que cada persona desarrollador para mostrar y editar el código en su propio formato preferido.De que manera puedo poner a mi abrir la llave en el principio de la línea siguiente y no al final de la línea actual donde todo lo que los paganos parecen pensar que va.

Mi conjetura es que voy a estar esperando por un largo tiempo.

  • Acaba de volver a formatear la solución a todo una vez
  • Y asegúrese de que cada desarrollador es el uso de Resharper
  • Y asegúrese de que el formato de las opciones son compartidos y versionados (estilo de código de opciones de uso compartido)

Puede utilizar StyleCop para hacer cumplir un conjunto exhaustivo de normas que prácticamente obliga a todos a utilizar el mismo diseño de los estilos.Entonces todo lo que necesita hacer es desarrollar un ReSharper código de especificación de estilo que coincide con este, y se distribuye en el equipo.

Todavía estoy esperando a alguien más para hacer esto, y para JetBrains para aclarar todos los insignificantes detalles que no son totalmente compatibles, con el fin de permitir ReSharper, básicamente, de garantizar la plena StyleCop cumplimiento.

Sin duda puede causar conflictos, así que asegúrese de que usted no vuelva a formatear toda archivos si hay gente trabajando en ellos en paralelo.

Definitivamente puede causar conflictos.

Si desea utilizar esto en un entorno multi-usuario, a continuación, la configuración de Resharper necesita para dar formato a tu código a un conjunto de normas que son aplicadas en su organización, independientemente de si los usuarios hacen uso de Resharper o no.

De esa manera usted está utilizando la herramienta para asegurarse de que su propio código cumple las normas, no de la manta de la aplicación de sus preferencias a la totalidad de la base de código.

Estoy de Acuerdo con las respuestas anteriores que afirman que los conflictos son posibles e incluso probables.

Si usted está planeando volver a formatear el código, a continuación, al menos asegúrese de que usted no se mezclan formatear confirmaciones con los que cambiar la función del código real.De esta manera la gente puede saltar más allá de los check-ins que son simples reformattings.También es una buena idea para asegurarse de que todo el mundo sabe que un formatear es así que se puede objetar si tienen curso de trabajo en esa área.

Estamos trabajando en algo para trabajar con refactors a nivel de código fuente.La llamamos Xmerge, y ahora es parte de De plástico.Es sólo una primera aproximación, ya que estamos trabajando en soluciones más avanzadas.Check it aquí.

Podría ser una buena idea para escribir una secuencia de comandos para comprobar hacia fuera de cada versión en el control de la fuente de la historia, aplicar el código de limpieza, a continuación, comprobar en un nuevo repositorio.A continuación, utilice el repositorio de todo su trabajo en el futuro.

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