tag example color codes code code-readability

code-readability - example - html codes list



¿Es el código para computadoras o para las personas? (11)

Los programas deben escribirse para que las personas los lean, y solo de manera incidental para que las máquinas los ejecuten.

- de "Estructura e interpretación de programas informáticos" por Abelson y Sussman

En última instancia, el código se compila (eventualmente) en instrucciones para una CPU. Sin embargo, el código (en mi humilde opinión) es para que los seres humanos lean, actualicen e interactúen. Esto me lleva a la siguiente observación:

El código ilegible para otros ingenieros, incluso si es funcional, es un código incorrecto.

Con eso en mente, ¿qué puede hacer este programador para hacer que los humanos lean más fácilmente el código?

  • ¿Convenciones de nombres? (Joel tiene una buena cantidad para decir sobre eso)

  • Estructura de código / diseño? (por favor, por el amor de Dios, no te metas en el { debate de colocación)

  • ¿Fraseo? (¿Es posible escribir código que se parece más al idioma inglés?)

¿Hay buenos artículos más allá de los de Joel ?


Al compilador no le importa si su código está escrito limpiamente o si es ilegible: siempre que la sintaxis sea correcta, el código se compilará y se ejecutará.

Sin embargo , cuando se trata del mantenimiento del código, un código limpio para las personas va a ser muy útil. Desde el punto de vista de un caso de negocio, cuanto más corto sea necesario para comprender el código de un nuevo programador, menos dinero se requiere para que la nueva persona se ponga al día. Por lo tanto, el código más limpio tiene más valor. ¿Cuál es el punto cuando el código ilegible se realiza un 5% más rápido cuando el programador tardará un 100% más de tiempo en comprenderlo? Después de todo, los programadores cuestan bastante dinero.

Escribir código siguiendo los estándares de codificación para el estilo, la nomenclatura de variables, y tal es importante para mantener la coherencia del código escrito por varias personas. Una base de código consistente que siga un buen estándar de codificación será más fácil de mantener.

A menudo, cuando se trata de optimizar el código, puede convertirse en un lío ilegible, pero en general, los compiladores han mejorado en estos días al optimizar, por lo que tener un código escrito más claro también mejorará las posibilidades de que el compilador detecte ciertos constructos y realice optimizaciones. en él, lo que mejora el rendimiento.

Escribir para las personas, no para la máquina.


Artículo perdido: comentarios.

Incluso si el código es perfectamente legible para su autor, podría no serlo para todos.



Roedy Green escribió una extensa guía llamada: Unmaintainable Code .

"Con eso en mente, ¿qué puede hacer este programador para hacer que el código sea más fácil de leer por los humanos?"

Respuesta: lea esta guía y aplique el reverso de todo lo que dice sobre sus actividades de desarrollo.

Cita de la sección de principios generales:

"Para frustrar al programador de mantenimiento, tienes que entender cómo piensa. Él tiene tu programa gigante. No tiene tiempo para leerlo todo, mucho menos entenderlo. Quiere encontrar rápidamente el lugar para hacer su cambio, hacerlo y salga y no tenga efectos secundarios inesperados por el cambio.

Él ve tu código a través de un tubo de papel higiénico. Solo puede ver una pequeña parte de tu programa a la vez. Debes asegurarte de que nunca pueda llegar al panorama general al hacer eso. Desea hacer que sea lo más difícil posible para él encontrar el código que está buscando. Pero, lo que es más importante, quiere que sea lo más incómodo posible ignorar cualquier cosa con seguridad.

Los programadores son arrullados por las convenciones. De vez en cuando, violando sutilmente las convenciones, lo obligas a leer cada línea de tu código con una lupa.

Es posible que tenga la idea de que cada característica del idioma hace que el código no se pueda mantener, pero no solo si se usa de forma incorrecta ".

Si bien es una lengua firmemente en la mejilla, en realidad es una lista muy útil (aparte de los anuncios detestables) de lo que debe evitar si realmente le importa escribir un código legible / mantenible.


Sí.

Si la computadora no lo ejecuta, está roto. Si las personas no pueden leerlo, se romperá. Pronto.


mi opinión sobre esto es que todo es relativo.

Cuando necesita cambiar el código, el código es para usted, cuando se ejecuta para la máquina.

Si un código es funcional, tiene el potencial de ser leído.

El ser humano y cooperativo que hay en ti debería hacer que sea fácilmente legible para otros humanos, pero al final, dejando de lado las convenciones, la legibilidad del código a veces puede estar en el ojo del espectador.

Cuanto más fácil sea leer el código por las personas, más fácil será cambiarlo y mantenerlo, ya que la evolución se beneficia de la cantidad de contribuciones / contribuyentes que aplique a un problema, este tipo de código puede declararse mejor que el código ilegible.

Pero, en última instancia, el código se debe convertir en un conjunto de instrucciones para la máquina.

Las intenciones humanas se traducen en algo que la máquina puede seguir, por lo que el código es para ambos, uno a la vez.


Recomendaría echarle un vistazo a Clean Code por Robert Martin. Es una gran guía sobre cómo hacer que tu código sea más legible y, bueno, limpio.


Mi opinión es un tanto tangencial, no se trata de legibilidad, se trata de mantenimiento.

Leer es solo mirar el código y pensar que puedes leerlo. Por lo general, se supone que, para ser legible, tiene que ser legible para alguien que no haya esforzado en comprenderlo.

Mantener es realizar cambios para corregir errores o implementar requisitos nuevos / modificados. Leer es solo parte de ese proceso. No conozco ningún código de mantenimiento que no requiera una curva de aprendizaje por parte del mantenedor, y para alguien que no ha escalado esa curva el código parece "no legible".

Al mismo tiempo, creo que es parte de la responsabilidad de un programador enseñarle al mantenedor a ayudarlo a subir la curva de aprendizaje. Una forma de hacerlo es dejar instrucciones paso a paso sobre cómo realizar los tipos de cambios futuros que podrían anticiparse.

A menudo veo código inflado con espacios en blanco, por lo que menos se ajusta a la pantalla, y se le da un nombre detallado y comentarios gabby. Esto da la impresión de legibilidad.


"Cualquier tonto puede escribir código que una computadora puede entender". Los buenos programadores escriben códigos que los humanos pueden entender ". - Martin Fowler," Refactorización: mejorar el diseño del código existente "

Pero como ya ha llegado a esa conclusión por su cuenta, basta con decir que este es un tema importante. No es algo en lo que puedas obtener una sola respuesta. Hacer que el código se pueda mantener no se limita al estilo de codificación, sino que también incluye el diseño general y el proceso de construcción. Aquí hay algunas etiquetas en este sitio donde casi todas las preguntas y respuestas afectarán a este tema:

  • estilo de codificación
  • mejores prácticas
  • refactorización

<sarcasm> código solo debe ser leído por una máquina. Siempre que el resultado final satisfaga las necesidades del usuario, no importa cómo sea el código. </sarcasm>

Ahora código o código que se puede mantener que puede cambiar, esa es una historia completamente diferente.

¿Construirías una casa con un plan garabateado en la parte posterior de una servilleta, o tirarías los planos una vez que hayas terminado de construir una casa en la que quieras agregar una habitación en un día?