Mientras revisaba el código de un compañero de trabajo, me encontré con algunos errores ortográficos en los nombres de funciones y también errores gramaticales como 'doesUserHasPermission ()' en lugar de 'doesUserHavePermission ()' en los nombres de funciones y variables.
¿Debo señalarle esto o estoy siendo demasiado pedante al notar esto?
code-reviews
grammar
Rahul
fuente
fuente
HTTP-Referer
Me molesta a menudo. en.wikipedia.org/wiki/HTTP_referrer#Origin_of_the_term_refererRespuestas:
El código con errores ortográficos y gramaticales no se puede mantener .
Las personas no recordarán la mala gramática, por lo que intentarán llamar a la función como debería haberse escrito, y así es como ocurren los errores.
No puedes buscar algo en el código si no sabes cómo se escribe.
La mayoría de las personas que hacen gramática / ortografía lo hacen de manera inconsistente, por lo que introducirán muchos errores con nombres desiguales. Esto es particularmente problemático en los lenguajes que no requieren que las variables se declaren explícitamente antes de su uso, porque puede introducir una nueva ortografía y su código no se detendrá para hacerle saber que se equivocó.
Corregir estos problemas no es pedante, ni es necesario principalmente por las opiniones de los demás sobre la inteligencia, la alfabetización, etc. (aunque eso es un gran efecto secundario); Se trata de calidad de escritura , código mantenible .
fuente
Referrer
la especificación HTTP original y patearlo en el tobillo. Por supuesto, probablemente fue Berners-Lee, así que me sentiría culpable después ...Sí definitivamente. Es más fácil recordar el nombre si es gramaticalmente correcto. Intentar recordar el nombre y los errores gramaticales es algo completamente distinto.
fuente
No los señale como defectos en una revisión formal del código. En su lugar, marque una lista y hable con él / ella PRIVADA sobre ellos. Sea lo más diplomático posible al respecto, solo "Oye, algo que noté, y me he encontrado con personas que REALMENTE desprecian este tipo de cosas, piensan que hace que el programador se vea descuidado y descuidado".
Si se trata de un código que un cliente verá, DEBE corregirse absolutamente. Nos guste o no, sí refleja la reputación de su empresa.
Para el ejemplo que diste, sospecho que comenzó como UserHasPermission, y alguien más le dijo que la práctica local era doesUserBlahBlah () en lugar de UserBlahBlah (), y simplemente pasó por alto el cambio de gramática.
fuente
Cámbialo tú mismo.
Esperemos que se encuentre en un entorno donde el código "propiedad" no sea un problema. Si tiene acceso al proyecto en el control de origen, simplemente entre y corríjalo usted mismo. Si ve que un compañero de trabajo en particular comete el mismo tipo de gramática o errores de ortografía de manera constante, es posible que desee señalarlo, pero eso dependerá de su relación, si la persona es un hablante nativo de inglés y su receptividad general. Pero si alguna vez decides hacer eso o no, simplemente ve y haz el arreglo. Hago esto todo el tiempo, si veo un error tipográfico, especialmente en una firma de método o propiedad pública, simplemente lo soluciono. Ocasionalmente, ni siquiera puedo resistir la tentación de corregir un error tipográfico en un comentario, pero solo soy yo :)
fuente
Soy un desarrollador cuyo idioma nativo no es el inglés, en realidad es holandés, y no me importaría si alguien me señalara un error gramatical o de ortografía. De esa manera puedo seguir mejorando constantemente mi inglés. Y ciertamente no es difícil corregir todos los errores en todo su código fuente. Se puede escribir fácilmente una secuencia de comandos Perl simple para recorrer todos los archivos de una carpeta. ¿Quizás incluso se puede hacer con sed? No lo sé.
Entonces, ciertamente señalaría errores gramaticales o ortográficos en el código de otra persona, pero solo si estoy absolutamente seguro de si es correcto lo que estoy diciendo.
fuente
Supongo que vale la pena mencionar aquí que el encabezado de referencia HTTP en el protocolo HTTP estaba mal escrito como "referente" (y tenemos que vivir con él / hemos aprendido a vivir con él) :)
fuente
Estoy de acuerdo con otras respuestas que dicen que el código con errores gramaticales es imposible de mantener.
También quiero agregar algunas cosas:
fuente
Recomendaría usar un IDE con un corrector ortográfico incorporado. IntelliJ Idea hace un trabajo maravilloso para los programas Java. Hay muchos errores tipográficos embarazosos que detecta, no solo en los nombres de las funciones, sino también, por ejemplo, en los mensajes de excepción que el usuario puede ver. Un programa que produce mensajes llenos de errores tipográficos no inspira mucha confianza.
fuente
Lo hago solo si
Como nota al margen, si los nombres de sus funciones son lo suficientemente largos como para tener gramática, probablemente sean demasiado largos. En el ejemplo dado, llamaría a la función userHasPermission y movería la "gramática" a su código, algo como esto:
fuente
userHavePermission()
estaría mal.userHasPermission()
implica que devuelve un bool debido a la gramática ~ O ~ podría significar que establece el permiso del usuario. (El oficial tiene el puente :: el usuario tiene permiso). Todavía es vago.Esto también sucede MUCHO en mi proyecto (poblado por personas nativas de habla hebrea, rusa o árabe), pero incluso a un nivel superior, a menudo veo un código que usa una terminología oscura que es lo que el diccionario produjo como traducción para lo que el autor tenía en mente, y no tiene nada que ver con lo que querían decir ...
Personalmente, cuando sucede con tanta frecuencia y por tantos miembros del equipo que podrían haber escrito el código incluso antes de unirme al proyecto, tiendo a ignorarlo, porque simplemente no importará.
Sin embargo, si estoy cometiendo algo de trabajo en el mismo archivo que el código o los comentarios que se escribieron hace mucho tiempo y tienen errores tipográficos, los corregiré solo porque no es demasiado trabajo.
fuente
Aplica la regla de oro
Quiero que otros me respalden en este tipo de cosas, así que ayudo a otros. Ser amable y solidario puede ser de gran ayuda a su favor.
fuente
Al igual que con muchas otras buenas prácticas de programación, la única forma objetiva, no política y efectiva de implementar una política sobre ortografía en los programas es automatizarla como parte del proceso de precompromiso. La automatización lo salvará de enormes cantidades de quejas, incluso si tiene que escribir su propia herramienta para ese propósito.
fuente
Este es un error menor en el código, pero es un error. Trátelo como cualquier otro error que encuentre. Mi política es siempre asumir que mis compañeros de trabajo son competentes y tratarlos de esa manera hasta que demuestren lo contrario.
Si se trata de un solo error, podría solucionarlo y comprobarlo. Si se trata de un patrón, podría comenzar a hacer que ese compañero de trabajo revise esas correcciones. Hágales saber que cree que son un buen programador, pero que esto es algo que sería bueno mejorar. Sin embargo, creo que nunca haría un gran problema con algo como esto.
Mientras no lo trates como si fuera un gran problema, debería ser fácil poner a ese compañero de trabajo en una posición en la que pueda mejorar sin poner el ego en juego.
fuente
userPermission () quizás? -
El último que encontré fue un problema global de resultados de búsqueda que no se resaltan porque el nombre de la clase se deletrea resaltado. Error muy oscuro para detectar.
fuente
Claro que sí, pero no pierdas el tiempo buscando errores ortográficos. Use una herramienta para automatizar esto en su CI. En .net fxCop puede hacer esto ...
fuente
Depende en gran medida de cuáles son los errores, qué tan comunes y qué tan graves son, y si en realidad es un error de buena fe o no, simplemente, cómo lo diría.
Personalmente, no puedo soportarlo cuando un idiota arrastra una revisión de código de 5 minutos a media hora porque quiere que todo cambie de nombre a cómo lo haría y todos los comentarios vuelvan a redactarse solo porque le gusta pegar su remo. Una línea de registro que dice "Cargar objetos de datos" no necesita cambiarse a "El componente del cargador de objetos de datos ahora cargará los objetos de datos relevantes del componente de almacenamiento de objetos de datos".
/ rant :)
fuente