Pregunta

Rutinas, procedimientos, métodos: como quiera que los llames, son componentes importantes para nosotros, los desarrolladores.¿Qué característica individual calificarías como la lo más importante ¿uno?

(Al proporcionar una característica por respuesta, es posible votar por ellas individualmente.Es decir.El propósito de esta pregunta no es decidir seleccionar una característica, sino más bien resaltar todo los importantes.)

¿Fue útil?

Solución

Creo que el criterio más importante sería que tiene un solo propósito.

Después de eso, que satisface ese propósito (y sólo ese propósito) correctamente.

Otros consejos

Auto Al comentar nombres de procedimientos.

Ejemplos: GetStoreFromAddress GetCarsByMake

Debe ser fácilmente unidad de prueba.

El nombre de la rutina de los mapas de uno a uno su funcionalidad.

Es sorprendente la frecuencia con una función X hace X y Y, o la mayor parte de X, pero no todos X.

es hay un criterio único que distingue a una buena rutina de uno malo.

Entre los criterios son los siguientes:

  • integridad conceptual: lo hace algo que se puede describir en una forma corta sencilla, una frase o párrafo;
  • acoplamiento débil: su comportamiento no es sensibles a lo que ocurre en el código alrededor de él;
  • tamaño razonable: Las rutinas son largos más difícil de leer y entender, y tienen menos probabilidades de tener un buen integridad conceptual;
  • El criterio de Parnas: se "esconden" una cosa que puede cambiar, por lo que cambios en los requerimientos han limitado efecto sobre el resto del sistema.

diseñado para que los humanos lo lean y lo entiendan fácilmente; sin eso, es mucho más difícil modificarlo para que tenga todos los demás maravillosos atributos que se enumerarán aquí

El número de cosas que trata de hacer.

Si esto no es exactamente 1 es probable que tenga un problema.

No debe tener efectos secundarios inesperados.

buena gestión de errores (fiabilidad)

brevedad

(esto se supone que es una respuesta semi-divertido, pero lo que no dejaría que sea puesto una sola palabra en su propio!)

Tiene que ser atómica

líneas de código.

Se debe realizar un seguimiento del número de ediciones requeridas después de la rutina fue puesto en uso. Una rutina de 'bueno' es uno con algunas modificaciones requeridas. Una rutina de 'malo' sin duda demuestra que es así que cuando hay un montón de correcciones requeridas.

Esta facilidad se puede lograr con una cabecera de comentario en cada llamada al método que se actualiza después de cada edición.

Se hace una cosa o delega varias cosas a otras funciones

Claridad - Fácil de entender

Creo que esto se responde más fácilmente si se tiene en cuenta como parte de las rutinas de una API. No hay muchas rutinas que están solos, al menos no en un sistema verdaderamente útil. Así que, honestamente, creo que las cosas más importantes a tener en cuenta al escribir rutinas son:

  1. Intuición ¿Cómo es mi intuitivo conjunto de instrucciones -? ¿La gente entender el propósito sin tener que vadear a través de una gran cantidad de documentación

  2. La ortogonalidad ¿Cómo ortogonales son mis rutinas? ¿Cada logran una tarea en particular, o hay múltiples (pero ligeramente diferentes) maneras de hacer la misma cosa? Si los hay, esto es malo, y la API probablemente necesita ser rediseñada.

  3. Compacidad ¿Qué parte de la API se tarda en obtener tareas sencillas hacen? ¿Tengo que aprender un montón de cosas para conseguir que se haga algo, o puedo ser suficiente con sólo un par de rutinas que hacen algo intuitivo y potente? Es necesario sopesar las ventajas y desventajas de éste con la ortogonalidad de lograr un buen equilibrio para su dominio particular.

Desde el nombre de la rutina, se puede decir lo que hace la rutina (y cuando se compruebe el código, se da cuenta de que tenías razón; -)

La rutina utiliza un nivel constante a lo largo de la abstracción.

Yo diría que bien documentado (y, de hecho cumplir) pre y post condiciones.

A punto de retorno único

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top