¿Cómo lidian las personas con las blasfemias en el código fuente y los comentarios de VCS? ¿Mantener o eliminar?
¿Qué pasa con los improperios suaves como WTF o Arrgggh?
¿Es poco profesional, ofensivo o algo que se debe ignorar?
source-code
sal
fuente
fuente
grep f.ck
en el código fuente de un kernel de Linux. Si es lo suficientemente bueno para ellos, es lo suficientemente bueno para mí. Pero nunca ponga nada ofensivo en lugares donde haya la menor posibilidad de que los clientes lo puedan detectar. Lo hice una vez y por suerte logramos sacar la actualización en el último minuto, pero no fue divertido. (Bueno, en realidad fue después.)Respuestas:
Debe ser suavemente desalentado
..no es posible saber quién podrá ver el código fuente durante su vida útil.
Si bien es parte del trabajo frustrarse con un código particularmente complejo o antiguo y querer hablar mal de él, poner improperios / discursos / arte ASCII / chistes malos / comentarios ofensivos en el código fuente no es profesional y Mala idea en mi experiencia. A veces, el ingeniero que escribe los comentarios es ajeno a los posibles efectos que sus comentarios podrían tener. Estos son solo algunos de los problemas que he visto:
Si bien todos necesitamos tener algunos puntos de venta para la frustración / diversión / bromas, el código fuente no es el lugar para hacerlo, en mi opinión. No pondría improperios / chistes / comentarios ofensivos en un contrato, páginas de ayuda, planos u otro documento profesional, a pesar de que esos documentos pueden leerse incluso con menos frecuencia que el código fuente.
Si los líderes de equipo se ponen duros al respecto, habrá disgusto, por lo que digo 'desanimado gentilmente' por medio de una palabra tranquila con ingenieros de problemas y proporcioné mecanismos de ventilación adecuados para desahogarse, ya sea Facebook, mensajes instantáneos , air hockey o un saco de boxeo.
No es una defensa decir que los comentarios se compilan tampoco: ¿qué pasa con JavaScript o cualquier otro código dinámico del lado del cliente?
Estas son algunas de las experiencias del mundo real que he tenido que han moldeado mi opinión:
Mientras trabajaba en Microsoft, descubrí que un ingeniero de software no sabía la ortografía correcta de "no podía", echaba de menos la O, I y D, y había salpicado gran parte de su código con largas explicaciones de cómo no podía hacer que X funcione porque la persona Y estaba causando el problema Z. Su código era excelente; su ortografía no era tan buena. Baste decir que cualquier revisor posterior de este código (por ejemplo, yo) se alarmó al ver una gran cantidad de juramentos aleatorios en el código. Parte de este código pasó a mostrarse a los socios (escritores de controladores). Imagine su horror al ver los juramentos. Idealmente, los comentarios deberían haber sido dirigidos al gerente del proyecto en forma verbal (en cuyo caso, la persona Y podría ser arrastrada a la discusión) o tal vez enviar mensajes, pero no en la fuente.
En una empresa, un individuo que habla un idioma extranjero se unió a un equipo predominantemente de habla inglesa. Escribió comentarios en su idioma, pensando que nadie más podría leerlos. Esto estuvo bien, hasta que Babelfish / Google Translate lanzó una opción 'al inglés' para su idioma, momento en el que el resto del equipo tradujo algunos comentarios y se horrorizó por los comentarios sucios y a menudo despectivos que el tipo había estado haciendo sobre la compañía. , su equipo y una compañera de trabajo. Incómoda .
En otra compañía, un tipo realmente se sintió atraído por el arte ASCII y puso todo tipo de arte en su código fuente, sin ser visto (o quizás bendecido) por los revisores del código. Después de un tiempo, habitó en dragones, por alguna razón, generalmente con algún tipo de etiqueta. Más tarde, una persona galesa se unió al equipo. El emblema nacional de Gales es un dragón rojo, por lo que el nuevo chico inicialmente se mostró alegre con las imágenes, pero luego se ofendió cuando algunas de las tontas frases podrían interpretarse como ofensivas. Sí, se requiere cierta mediación del líder del equipo, pero esto no debería haber sucedido.
Nombres / detalles eliminados para proteger a los inocentes.
fuente
Si vende su código fuente (es decir, es un escritor de componentes), probablemente no debería estar allí.
Si es una cuestión de mojigatería, entonces lo que sea, depende de ti.
Si ve a alguien escribiendo muchos WTF, entonces tal vez sea una señal de que debería hablar con ellos sobre los problemas que están teniendo.
Si alguien dirige su agresión hacia el código de otra persona, entonces podría estar acosando a esa persona y usted tiene una situación completamente diferente con la que lidiar. Quizás tienen una queja legítima y no saben cómo expresarla adecuadamente. Quizás son solo un imbécil.
No sería prudente tener algún tipo de filtro de contenido, lo que sea que escriba un desarrollador es importante y le dice mucho sobre cómo van las cosas.
fuente
Trabajo para una compañía Fortune 500 que diseña, fabrica y vende productos de consumo que tienen µControllers ejecutando código desarrollado internamente. El litigio siempre es una posibilidad, ya sea de consumidores que esperan enriquecerse rápidamente o de competidores que reclaman una infracción. Debido a esto, escribimos nuestro código y TODOS los comentarios con el conocimiento de que puede (probablemente) quedará bajo el escrutinio de jurados hostiles en algún momento. Eso significa que los nombres de variables y funciones no deben incluir términos incitantes, como
KILL_CHILD(int process_id)
. Si bien el propósito de esta función de ejemplo podría muy bien ser terminar procesos secundarios, ¿cómo vería un jurado hostil el nombre de esa función si el hijo del demandante fue asesinado mientras usaba el producto?Los comentarios en código pueden ser aún peores. Si bien un equipo de defensa decente probablemente podría manejar la explicación de lo que es un proceso secundario (del ejemplo anterior) y por qué podría ser necesario finalizarlo, sería casi imposible defenderse de un comentario como:
Los comentarios imprevistos como ese han sido factores decisivos en casos judiciales reales.
En un tema relacionado, los nombres de los proyectos también pueden ser condenatorios bajo el microscopio de litigios intensos. ¿Recuerdas el alboroto de los grupos conservadores a mediados de los 90 cuando las fuentes de noticias tecnológicas informaron "SATANAS desatadas en Internet" ?
<rant_mode_off>
Con todo lo dicho, para proyectos personales, usted es libre de hacer lo que quiera en su código.
fuente
Si te molesta y tú eres el jefe de la escuela, no veo por qué no pudiste implementar una regla sobre esto. Usted está después de todo, el líder en esta situación hipotética.
Sin embargo, si solo te molesta y a nadie más parece importarle, tal vez deberías aguantarlo.
fuente
Es posible que no sea la persona adecuada para preguntar, ya que a menudo uso malas palabras.
Creo que depende principalmente de cuán PC (Políticamente correcto) sea su entorno.
Si codifico para una empresa de traje y corbata, trataría de no usar malas palabras, pero si es para un proyecto de pasatiempo o algo, tiendo a decir lo que pienso con más libertad.
Me parece que en los EE. UU. Y en otros países la gente es mucho más PC (o estancada) que en los Países Bajos, donde vivo y trabajo.
Como una ventaja adicional, aquí hay algunas estadísticas sobre blasfemias en el código: http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/
fuente
Me inclino a aceptar que puede ser poco profesional, pero todos insultan de vez en cuando, así que trato de no oponerme a los demás. Dicho esto, la base de código tiende a reflejar la profesionalidad general del grupo, por lo que una base de código cargada explicativa podría reflejar un grupo no profesional y podría ser necesario una reunión para "aplicar algo de esmalte" al grupo. Del mismo modo, si aparecen ciertas tendencias en el código, podría ser un indicador de problemas generales dentro del grupo que deben resolverse (es decir, la API con la que está trabajando tiene problemas que frustran a los desarrolladores).
En términos de la base de código, generalmente solo editaré el comentario relevante para que sea seguro para el trabajo y lo dejaré ahí. Dependiendo del idioma con el que esté trabajando, esto siempre es una buena idea, ya que nunca se sabe lo que podría aparecer frente a un cliente o cliente.
fuente
Posiblemente los tres ... dependiendo de su punto de vista.
Es natural que las personas se expresen usando "lenguaje colorido" en ciertas situaciones. Más en algunas culturas que en otras, y en algunas personas más que en otras. Pero la tendencia es universal.
Si yo fuera tú, lo ignoraría a menos que estés dispuesto a hacerte impopular con tus compañeros de trabajo.
Sin embargo, si el código fuente / los comentarios de VCS se publican fuera de su organización, es posible que su administración quiera tomar una línea más fuerte, sobre la base de que es malo para las empresas ofender a sus clientes.
fuente
Uno de los problemas con la blasfemia es que es diferente de una cultura a otra. En los Estados Unidos, las cosas inocentes tienden a ser "expulsadas", mientras que en otros países a menudo se puede escuchar el mismo lenguaje intercambiado en las discusiones del parlamento.
La blasfemia en el código y los comentarios de confirmación son bastante comunes, probablemente debido a la vista "nadie lo va a ver". Creo que en realidad es más común ahora que la mayoría de las organizaciones prohíben los huevos de pascua.
Personalmente, creo que las cosas que no se enfrentan al cliente (como los materiales de compromiso interno) no son un gran problema.
Sin embargo, la mayoría de las grandes multinacionales están a cargo de departamentos legales y "lugares de trabajo seguros" y todo eso, lo que significa que cualquier cosa que pueda ser ofensiva para al menos una persona es un problema y una posible causa de despido. Odio admitirlo, pero tiendo a inclinarme ante las regulaciones de quienes pagan mi salario.
Una solución rápida a este problema es instalar un filtro de blasfemias en su sistema de control de código fuente (como un script de envío previo o una verificación regular).
fuente
Creo que está bien siempre y cuando no esté fuera de control, como lanzar bombas f allí. He visto a un tipo con el que trabajo escribir un guión entre dos personajes que discuten los diversos objetos que representan. Hubo un comentario multilínea que corrió como 30 líneas de estos dos personajes hablando uno al otro.
/ * * igor: ¿me haré público master? * Frankenstein: ah igor, heredaré de tus mejores rasgos ... * /
Siguió así durante mucho tiempo. Creó dos objetos llamados, lo adivinaste: Frankenstein e Igor como parte de un control de cordura. En realidad fue muy creativo pero una pérdida de tiempo total. Hubiera preferido ver algunos WTF o improperios que un guión entre dos objetos de C # ...
fuente
Depende de la cultura de la empresa / cliente. Por ejemplo, si está desarrollando software bíblico, los improperios en cualquier forma definitivamente no son bienvenidos. Por otro lado, un desarrollador de juegos podría no importarle tanto (o ir al otro extremo).
Siempre pienso que cualquier comentario (en código o commits) debería ser útil . Ciertas palabras captan nuestra atención más que otras: los improperios, incluso la variedad suave, definitivamente se notan. Puede ser útil llamar la atención sobre algo que simplemente está mal, pero todavía no tiene forma de evitarlo.
Dicho esto, no uso improperios, pero ocasionalmente usaré cosas como "¡Doh!" o "¿Eh?" que no es muy diferente en espíritu. Si le molesta, hable al respecto con el delincuente; es posible que no esté pensando en ello. Si te dicen que hagas una caminata y te sientes muy bien al respecto, ve al gerente. Si no recibe apoyo del gerente, entonces tendrá que aprender a vivir con él o ir a otro lado.
fuente
Bueno, no estoy exactamente seguro de qué más se supone que debes decir sobre un código como este:
Este código se extrajo de una base de código real y extremadamente cruda que he estado tratando de optimizar últimamente. (El código es de código abierto, por lo que no estoy revelando los secretos de ningún empleador aquí ni nada).
fuente
Como han dicho otros, depende del lugar de trabajo y de quién verá el código fuente.
Si estuviera vendiendo el código fuente, tendría un segundo repositorio de solo versiones publicadas y no permitiría ningún comentario de registro allí fuera de una descripción de lo que proporciona cada nueva versión. Lo que hago en el día a día y todos mis pasos en falso son entre mi equipo y yo, no mis clientes.
Actualmente, mi servidor de compilación informa sobre los comentarios de OMG, WTF, kludge, mess y TODO como una medida de la limpieza restante para hacerlo en este momento, son parte del proceso.
fuente
Si ve blasfemias en el software de código abierto y quiere deshacerse de él, prepárese para la posibilidad de retroceder. No solo escriba un informe de error de tres líneas , y espere que sea aceptado. Escriba un mini ensayo que explique por qué la blasfemia y el lenguaje discriminatorio son malos y evite las refutaciones.
fuente
Creo que es una cuestión de preferencia personal. Eso realmente no me molesta, así que probablemente lo dejaría. Incluso podría darme una pista de dónde están las áreas problemáticas en el código.
¿ Te molestan ? Por el hecho de que estás haciendo esta pregunta, supongo que sí. En cuyo caso, elimínelos o límpielos en comentarios más apropiados sobre lo que está mal.
fuente