Tratar con blasfemias en el código fuente [cerrado]

34

¿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?

sal
fuente
15
Caso por caso ... los comentarios son una vía para la personalidad de los desarrolladores. Así como tienes que lidiar con N tipos de personalidades, también tienes que lidiar con N tipos de comentarios que desangran la personalidad de los desarrolladores. ¿Cómo lidias con un desarrollador determinado usando malas palabras mientras interactúas con ellos vía mensajería instantánea, correo electrónico, verbalmente?
Aaron McIver
10
He tenido que decirle a algunos desarrolladores de Jr. antes que no pongan malas palabras en los comentarios. En mi humilde opinión es muy poco profesional. Si no juraría frente a sus compañeros de trabajo o clientes, ¿por qué jurar en comentarios / código? Y si juraras frente a tus compañeros de trabajo y clientes ... entonces tienes un ambiente de trabajo mucho más relajado que yo. :)
Tyanna
44
@Tyanna: ¡En mi último lugar de trabajo fuimos incluso un poco racistas! Si puedes llamarlo así. Creo que la corrección política es horrible entre los compañeros de trabajo que se ven día a día. ¿Te daría miedo contarle una broma racista a alguien que ves durante 10 horas al día? Por otra parte, vivo en Bolivia, creo que Estados Unidos tiene una mentalidad mucho más demandar, demandar, y esa es la razón por la que nadie quiere pisar los pies.
44
@Anna Lear: Nunca de alguien demandado en Dinamarca por contar un chiste picante. Sin embargo, EE. UU. ... Todo depende de la clase de atmósfera en la que esté trabajando. EE. UU. Tiene más peso en los drones de recursos humanos que controlan cada pequeña cosa.
10
Simplemente haga un grep f.cken 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.)
biziclop

Respuestas:

41

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:

  • Una gran cantidad de improperios en el código lanzado al público como código de código abierto / muestra.
  • Chistes de mal gusto que causan una profunda ofensa a algunos miembros del equipo que resultan en un tribunal industrial.
  • Los comentarios descartables que en realidad eran racistas / sexistas / de género causaron el despido de personas.

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.

JBRWilkinson
fuente
1
Yo agregaría que tampoco se debe alentar la blasfemia en su sistema de seguimiento de defectos. Después de haber estado en la posición de solicitar a un remitente que edite su comentario para eliminar la blasfemia, puedo decirle que no es una posición agradable para un supervisor / líder de equipo / gerente. Especialmente cuando se niegan.
rapid_now
@quickly_now, ¿cómo manejaste esa situación entonces?
Pregunté de nuevo. Cuando la persona se negó nuevamente, yo mismo edité los comentarios para desinfectarlos. No pensé que valiera la pena pasar por el proceso de asesoramiento / disciplina (paso # 1 que conduce al despido), pero también informé a mi jefe lo que había encontrado y hecho. Todos estuvimos de acuerdo en que no iría más allá a menos que se repitiera (y no se repitiera). No es divertido. [Debo agregar además que los comentarios profanos me fueron informados por otro miembro del personal que estaba preocupado. Eso hizo que mi problema fuera resuelto. A veces los altos cargos no son vale la pena el dinero extra $ !!!]
quickly_now
"pero luego se ofendió cuando algunas de las tontas frases podrían interpretarse como ofensivas". Tendrías que ser una persona MUY profundamente perturbada para ofenderte con la imagen de un dragón porque eres galés.
Miles Rout
24

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.

Peter Turner
fuente
1
+1 para el punto sobre no vender código fuente cargado de explotación. El código debe ser inspeccionado a fondo para tales comentarios antes de ser entregado.
FrustratedWithFormsDesigner
2
Los comentarios groseros definitivamente no son una buena idea si eres un desarrollador de HTML. :)
biziclop
@biziclop, lo cual es lamentable porque HTML es un lenguaje tan frustrante como puede ser. Mira el enlace de @the jinx sobre las tasas de blasfemias en la fuente. parece que Javascript está vinculado por primera vez (no estoy seguro si esto incluye malversación de JavaScript minificada accidental)
Peter Turner
Nuestro filtro de contenido simple que se ejecuta en jenkins tenía un problema con esto: void pushItem (...
sal
17

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:

// The following section of code is REALLY BAD!!!  I hope
//  it doesn't burn anybody's house down.

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.

oosterwal
fuente
1
+1 por señalar el aspecto más peligroso de este comportamiento NO PROFESIONAL. He trabajado en equipos de "diligencia debida" que revisaron el código fuente de las compañías para las que estaba a punto de comprar el F500. Buscamos este tipo de cosas por las razones que menciona y marcó la diferencia quién se ofreció empleo continuo y quién no cuando se completó la fusión. Específicamente, una empresa grande (bolsillos profundos) no compra una empresa pequeña para heredar demandas de hostigamiento / ambiente de trabajo hostil, por lo que los delincuentes son despedidos / despedidos cuando se completa la compra.
kloucks
55
KILL_CHILD es solo un ejemplo absurdo. Y me gustaría ver una cita sobre "Los comentarios imprevistos como ese han sido factores decisivos en casos judiciales reales". (No solo digo que como una STFU ... realmente me gustaría leer la cita).
Wolfger
1
"Eso significa que los nombres de variables y funciones no deben incluir términos incitantes, como KILL_CHILD". Eso es lo más estúpido que he leído y debería avergonzarse incluso de implicar que KILL_CHILD es un mal nombre para una función.
Miles Rout
9

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
Aquí está la cosa: no "succiono" las cosas.
gnasher729
7

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/

el JinX
fuente
1
Creo que depende más del sector: en un entorno de alta presión, como las finanzas, los improperios son comunes.
JBRWilkinson
también depende mucho de lo que consideres "blasfemias". Al igual que en el artículo vinculado "jajaja" y "rofl" fueron elegidos como blasfemias, cuando la mayoría de nosotros creo que no los clasificaremos como tales.
Jwenting
No se trata de PC: se trata del uso apropiado del lenguaje (puede ser completamente no PC y aún así elegir no usar malas palabras: puede ser profundamente ofensivo y grosero y aún no usar malas palabras). Debe pensarse en términos de no ofender indebidamente, debido a que casi todo es ofensivo para alguien, pero la mayoría de nosotros sabemos dónde está la línea y, en general, juramos que las palabras están del lado equivocado. La moderación en esta área es útil: si no juras mucho o con frecuencia, cuando lo haces, la gente se da cuenta ...
Murph
6

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.

rjzii
fuente
3
+1, Interesante, no había pensado en usar patrones de apariencias improperias para rastrear la frustración con funciones / bibliotecas particulares.
FrustratedWithFormsDesigner
1
Relevante: osnews.com/images/comics/wtfm.jpg
Daenyth
5

¿Es esto poco profesional, ofensivo o algo que se debe ignorar?

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.

Stephen C
fuente
La clave aquí es "en ciertas situaciones", es decir, cuando sea apropiado y aceptable. Creo que es razonable sugerir que los comentarios (código o confirmación) no son lugares realmente aceptables y, por lo tanto, no son apropiados.
Murph
5

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).

Uri
fuente
2
Tengo que estar en desacuerdo con su sugerencia de un filtro automático de malas palabras. En primer lugar, corre el riesgo de toparse con el problema Scunthorpe y, en segundo lugar, como dice Stephen C, la blasfemia es probablemente un síntoma de otro problema y prohibirlo no lo solucionará mágicamente.
Scott
2
+1 Para el filtro de blasfemias, pero es importante evitar el "error clbuttic" ( thedailywtf.com/Articles/The-Clbuttic-Mistake-.aspx )
rjzii
Los filtros de blasfemias no funcionan. Tienden a bloquear cosas inocentes y dejar que pasen cosas malas. También tienden a ser fáciles de solucionar.
Jwenting
cntd. Hago moderación para un foro de fotografía de naturaleza. Cuando los administradores decidieron instalar un filtro de malas palabras, todas las discusiones sobre castores, gatos monteses, pájaros, etc., etc., serían censuradas. Antes de eliminarlo nuevamente, los usuarios comenzaron a desarrollar formas de evitar el filtro. Si no puede hablar sobre su viaje para disparar a los castores (Uy, 3 palabras malas en una oración corta), hable sobre su tr.ip to sh.oo.t be.ave.rs en su lugar, por ejemplo, y el filtro be too stu.pi.d (otra palabra que fue prohibida) para atraparlo.
Jwenting
Para mí, el argumento de evitar los filtros de blasfemias "porque muchos de ellos son basura" tiene tanto sentido como evitar los filtros de spam, desinfectantes sql, etc. Existen opciones de terceros decentes. Si usas solo expresiones regulares, eres SOL.
Uri
3

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 # ...

Nodey The Node Guy
fuente
Eso es gracioso. No productivo, pero divertido.
Paul Nathan
@Paul: ¡Ja! Lo siento, sí, no es muy productivo, pero fue ridículo ver este día mientras miraba algún código.
Nodey The Node Guy
2

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.

Berin Loritsch
fuente
Lo sentimos, ¿qué es el "software bíblico"? (No es un inglés nativo aquí).
Torre
2
La Biblia es donde se escribe la doctrina cristiana. El software de la Biblia es un software que los cristianos pueden usar para interrogar el texto en diferentes traducciones, buscar lo que los expertos han dicho sobre cierto pasaje y, en general, estudiar el texto. Una escritura habla sobre "No dejes que salga de tu boca ninguna comunicación corrupta", que es inglés antiguo para no maldecir o hablar sobre cosas que derriban a las personas. Estoy seguro de que hay otras aplicaciones religiosas en las que maldecir sería igualmente inoportuno.
Berin Loritsch
3
¿Los cristianos desmontan los ejecutables para buscar maldiciones en la fuente?
Erm, los comentarios no se compilan para que ni siquiera funcionen;)
el JinX
55
Entonces, si escribo software bíblico, ¿debería censurar todas las cosas obscenas de la Biblia?
Wooble
1

Bueno, no estoy exactamente seguro de qué más se supone que debes decir sobre un código como este:

tocommit = (n + (COMMITSIZE/PAGESIZE) - 1) & ~(COMMITSIZE/PAGESIZE - 1);

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).

dsimcha
fuente
3
¡Mata a esa sumbitch con fuego y un imán!
1

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.

Cuenta
fuente
1

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.

Andrew Grimm
fuente
0

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.

Marcie
fuente