La mayoría de las respuestas aquí son bastante general, pero hay una serie de cosas que se pueden hacer prácticas en el desarrollo de código para hacer menos probable errores. Precisamente, lo que son será diferente entre los idiomas, pero, por ejemplo, una fuente común de errores está bloqueada en las declaraciones: en muchos idiomas, para no insistir en el código del corchete si se trata de una sola línea, p.
if fred==bill dosomethingtofred() else dosomethingtobill();
Esto a menudo dará lugar a errores, especialmente si el código se edita posteriormente. Tampoco he puesto entre corchetes la prueba aquí, ya que de nuevo es permisible en algunos idiomas y es un generador potencial de errores.Yo lo haré siempre, sin excepción, estructure una declaración if en su totalidad distribuida en todo el linage, p.
if (fred==bill) {
dosomethingtobill();
}
else {
dosomethingtofred();
}
(nota personalmente prefiero extremo de la línea {. Algunas personas con buenos ojos en él y en un ambiente de cooperación es probable que sea mejor utilizar el nuevo estilo de línea, sin embargo, yo trabajo como consultor de la escritura principalmente código que se mantiene por mí mismo y me adhiero rigurosamente a las normas de sangrado, por lo que la compacidad adicional del código vale la pena)
Técnicas similares se pueden aplicar en la mayoría de los idiomas en una amplia gama de construcciones de código. Le sugiero que examine cuidadosamente dónde está cometiendo los estúpidos errores, luego considere qué estructuras de código le impedirían hacerlo y luego úselos cada vez más adelante. Yo mismo tengo una gama bastante amplia de estos constructos construidos durante varios años (para otro ejemplo, todos mis sql se presentan de la misma manera). Además de reducir errores estúpidos, esto también tiene la ventaja adicional de que puedo volver al código después de varios años y recuperar la funcionalidad muy rápidamente.
La experiencia es un escollo que debe evitarse? :-) Es posible que desee volver a escribir su primera oración. – tvanfosson
Modifiqué mi línea de apertura en su lugar. Gracias :) –
Gran lista, voto ++ – ConroyP