Beautiful Code expresa claramente una solución completa y elegante a un problema, e ilumina al desarrollador que lo lee.
Por supuesto, el concepto de belleza es terriblemente subjetivo. Tratar de definir una definición canónica de “belleza” es el camino a la locura, como descubrieron muchos grandes filósofos.
Dicho esto, creo que este tipo particular de belleza parece muy adecuado para Kant en las cosas.
- ¿Cuánto cuesta hacer una aplicación?
- Si todos los programadores y desarrolladores buscan cosas mientras codifican, ¿por qué las pruebas de codificación a menudo forman parte del proceso de la entrevista? ¿Cuán crucial es conocer todos los detalles de cada idioma para obtener el trabajo?
- ¿Cuáles son algunas herramientas estándar que utiliza un ingeniero de DevOps?
- ¿Qué es más difícil, trabajar con código muy complejo o matemáticas muy complejas?
- Como ingeniero / programador de software, ¿alguna vez encontró que los algoritmos de aprendizaje eran tediosos?
Tiene cuatro criterios básicos que deben cumplirse para que algo se considere hermoso, en el sentido universal de la palabra …
Primero, la persona que hace el juicio debe ser imparcial: en nuestro caso, decir que el código es hermoso o no no debería tener ningún impacto en nuestros ingresos, orgullo o relaciones. En otras palabras, es muy difícil emitir un juicio imparcial sobre el código de su jefe. 🙂
En segundo lugar, la evaluación debe esforzarse por la objetividad o universalidad, que cuando los méritos por los que juzgamos el código deben * no * ser una cuestión de gustos. Por ejemplo, ¡una preferencia personal por tabuladores vs espacios no debe entrar en el debate! Una medida más objetiva del estilo podría ser “si el código resiste la alineación con las herramientas estándar”. Los compiladores se encargan de esto …
En tercer lugar, el evaluador debe considerar si el código es adecuado para la presunta tarea. ¿Resuelve el problema? ¿Es mejor para resolver el problema que otro código? Esto requiere un conocimiento profundo de la tarea en cuestión, ya sea optimizar el código para el rendimiento, la mantenibilidad o algún otro objetivo.
Finalmente, el cuarto criterio es que si puede hacer un caso racional y convincente con las tres evaluaciones anteriores, las personas deben estar de acuerdo con usted, que su juicio es, de hecho, objetivo.
Ahora, si has leído hasta aquí y eres un desarrollador de software (o un filósofo), probablemente estés masticando un poco para cuestionar lo que Kant tiene que decir (y mi interpretación ligera, estoy seguro).
En caso de duda, mira a tu intuición: cuando lees un poco de código que te hace decir “¡ah, ja!” … Ese es un código hermoso. Si suficientes personas con amplias experiencias y experiencia encuentran la misma alegría, o entienden por qué sintió esa chispa de placer, entonces es razonable concluir que el código es hermoso.
En cualquier caso: vale la pena buscar un código hermoso, y vale la pena preguntarle a cada desarrollador que conozca. 🙂