2009-06-05 10 views

Respuesta

36
  • Fácil de entender.
  • Fácil de modificar.
  • Fácil de probar.
  • Funciona correctamente (sugerencia de Kent Beck - muy a la derecha).

Estas son las cosas que son importantes para mí.

+7

También debería funcionar correctamente. De lo contrario, esto me parece una buena definición. –

+1

Buen punto, lo agregué a la respuesta. – Ree

1

El código en el que los diferentes módulos o clases tienen contratos claramente definidos, es un buen comienzo.

17

Código No tengo miedo de modificar.

1

Código que no se rompe en varios lugares cuando realiza un único cambio, aparentemente insignificante. También es fácil seguir la ruta de control del programa.

10

Código que no requiere ningún comentario para ser fácilmente entendido.

+0

Diría uso mínimo de comentarios, en lugar de ninguno: (1) no es imposible tener un algoritmo contrario a la intuición; un comentario puede ser utilizado para que el usuario sepa (2) los comentarios se pueden usar para desglosar el código en secciones lógicas para que el lector tenga una visión general. –

+0

Gracias por este comentario. En cuanto a desglosar tu código en secciones lógicas con comentarios, estoy totalmente en desacuerdo. Si siente la necesidad de dividir su código, use métodos con los nombres correctos. En cuanto a los algoritmos contraintuitivos, si haces lo anterior, dudo que necesites comentarios para describir lo que está sucediendo. Si aún lo necesita, documentar su solución probablemente sea más útil que solo agregar algunos comentarios a su código. –

1

Código Haskell sin puntos. (No realmente, sin embargo)

2

Código que se lee lo más parecido posible a un lenguaje humano. Lo digo en todos los niveles: desde la sintaxis utilizada, nombrando la convención y la alineación hasta los algoritmos utilizados, la calidad de los comentarios y la complejidad de la distribución del código entre los módulos.

ejemplo más simple para la convención de nomenclatura:

if (filename.contains("blah")) 

frente

if (S_OK == strFN.find(0, "blah")) 

Parte de ello depende del entorno/API utilizadas, pero la mayor parte es, por supuesto, la responsabilidad del desarrollador

1

El código reutilizable también es importante. Por lo tanto, no solo es importante la calidad del código, sino ¿dónde se pone? Ejemplo, la lógica de negocios en un controlador es un código inútil

Cuestiones relacionadas