Hablando por experiencia ...
El primer proyecto de código abierto al que contribuí, estaba lleno de orina y vinagre cuando comencé también.
Lo que hice inmediatamente fue revisar un montón de archivos fuente y comenzar a estilizar las cosas según mis preferencias personales, creé un parche masivo y lo envié.
Si está trabajando con alguien que es 'bueno' (como yo), rechazará inmediatamente el parche. Principalmente porque, cuando contribuyes a un proyecto de código abierto, se espera que desgloses tus arreglos en fragmentos de tamaño de bocado que aborden un solo problema. 'Eliminado todos los gotos' no es un buen ejemplo de un compromiso atómico. Incluso si primero lo desglosa en confirmaciones más pequeñas y bien documentadas, aún podría ser rechazado.
La razón es que, debido a que el código es trabajado por varias personas (con diferentes estilos) a lo largo del tiempo, no es realmente posible aceptar cambios en toda la biblioteca para adaptarse al estilo de un desarrollador. Si cambiar el estilo por el estilo fuera factible, todos los proyectos de código abierto nunca avanzarían porque el código se editaría constantemente para adaptarse a diferentes estilos de desarrollo.
Refactorizar el código y agregar funcionalidades (o eliminar el desmenuzado obsoleto) generalmente tiene prioridad sobre el código de "limpieza".
La parte más difícil y gratificante de trabajar en un proyecto de código abierto es que se le preguntará por qué propone realizar los cambios que está enviando. Si puede dar una buena razón, hay una mayor probabilidad de que se envíe su parche.
Mi consejo es hacer algunos de estos cambios en un archivo fuente para dar una idea de lo que está tratando de hacer primero. Si los cambios están bien justificados y aceptados, pregunte si más cambios mejorarían la calidad del proyecto. De esa manera no desperdiciará mucho esfuerzo por nada si sus parches se rechazan en el futuro.
Desarrollar código abierto es más que escribir código. Estás trabajando para construir una relación de confianza porque los guardianes (desarrolladores que controlan el acceso push) harán lo que tengan que hacer para proteger la integridad del proyecto. A medida que envíe más parches, el guardián tendrá una mejor idea de su estilo y no tendrá que justificar tanto sus cambios.
Es un proceso que lleva tiempo pero es muy gratificante. No solo aprenderá mucho de poder mirar y criticar el código de otra persona, sino que también será criticado por su propio estilo.
Antes de perder mucho tiempo tratando de "corregir la injusticia de los errores del estilo de codificación de otros", pregúntese esto:
¿Los cambios que está proponiendo se basan en agregar valor al proyecto o se basan en su propia religión estilística interna?
Hay mucha religión en Stack Overflow (y sitios relacionados de Stack Exchange). Me refiero a un montón . La gente piensa y habla sobre el estilo sin cesar, como si cuanto más hablaras sobre él, más te acercas al estilo de codificación 'perfecto, ideal, indestructible e infalible'. También hablo mucho sobre todo porque es divertido.
En el mundo de código abierto, el estilo no es tan importante. Función es .
Nota: Todos estos consejos asumen que su portero es un programador razonable y talentoso. Si es así, considérese afortunado de no haberse quedado atascado con uno de los quejones b @ & # & es cuya única preocupación es proteger a su 'bebé'. Ellos no existen en la naturaleza, así que no se sorprenda si se encuentra con uno.
goto
No es necesariamente un desastre. Hay muchos casos en que su uso está perfectamente justificado.