Vous êtes sur la page 1sur 2

Reglas de programacin de Kernighan&Plauger

Traducido al espaol por J. F. Daz Esta es una lista de reglas de programacin que aparece en el libro TheElements of Programming Style (Los Elementos del Estilo de Programacin) de Brian Kernighan& P.J. Plauger. Aunque es un libro viejito y algunas de estas reglas estn obsoletas, es un clsico de la programacin en lo relativo al estilo de codificacin.

y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y

Escribe claramente --no seas demasiado inteligente. Di lo que quieres decir, simple y directamente. Usa funciones de biblioteca. Evita variables temporales. Escribe claramente --no sacrifiques claridad por "eficiencia". Deja a la mquina el trabajo sucio. Reemplaza expresiones repetitivas por llamadas a una funcin comn. Emplea parntesis para evitar ambiguedades. Elige nombres de variables que no sean confusos. Evita bifurcaciones innecesarias. Usa las buenas funcionalidades del lenguaje; evita las malas. No uses bifurcaciones condicionales como un sustituto de una expresin lgica. Usa la "prueba del telfono" para legibilidad. Haz tu programa legible de arriba a abajo. Usa las construcciones fundamentales de control de flujo. Escribe primero en un pseudo-language fcil de comprender; luego tradcelo a cualquier lenguaje que tengas que usar. Sigue cada decisin tan cercanamente como sea posible con su accin asociada. Usa arreglos de datos para evitar secuencias de control repetitivas. Elige una representacin de datos que haga al programa sencillo. No te detengas con tu primer borrador. Modulariza. Usa subrutinas. Haz el acoplamiento entre mdulos visible. Cada mdulo debera hacer una nica cosa bien. Asegrate que cada mdulo oculte algo. Deja que los datos estructuren el programa. No parches el cdigo malo --reescrbelo. Escribe y prueba un gran programa en pequeas piezas. Usa procedimientos recursivos para estructuras de datos definidas recursivamente. Prueba la entrada para validez y plausibilidad. Asegrate que la entrada no pueda violar los lmites del programa. Termina la entrada con un fin de archivo o marcador, no por un contador. Identifica la mala entrada; recuprate si es posible. Trata las condiciones de fin de archivo de una manera uniforme. Haz la entrada fcil de preparar y la salida autoexplicativa. Usa formatos de entrada uniformes. Haz la entrada fcil de corregir. Usa formatos de entrada libre cuando sea posible. Usa entrada autoidentificativa. Permite valores por defecto. Muestra ambos en la salida. Ubica en puntos especficos la entrada y la salida en las subrutinas. Asegrate que todas las variables estn inicializadas antes de usarlas. No te detengas ante un error. Usa compiladores depuradores. Inicializa las constantes con sentencias de DATOS o atributos INICIALES; inicialize las variables con cdigo ejecutable. Vigila los errores que fallan en los lmites de rangos por una unidad.

y y y y y y y y y y y y y y y y y y y y y y y y y y

Cuida que bifurques de la forma correcta en las comparaciones de igualdad. Evita mltiples salidas de los ciclos. Asegrate que tu cdigo "no haga nada" graciosamente. Prueba los programas en sus valores lmites. Programa defensivamente. 10.0 veces 0.1 difcilmente es ms que 1.0. No compares igualdad de nmeros de punto flotante. Haz que funcione antes de hacerlo ms rpido. Mantnlo correcto antes de hacerlo ms rpido. Hazlo claro antes de hacerlo ms rpido. No sacrifiques claridad por pequeas ganancias en "eficiencia". Deja que tu compilador haga las optimizaciones simples. No fuerces ni deformes el cdigo para reutilizarlo; en lugar de ello reorganiza. Asegrate que los casos especiales sean verdaderamente especiales. Mantnlo simple para hacerlo ms rpido. No zarandees el cdigo para hacerlo ms rpido --encuentra un mejor algoritmo. Instrumenta tus programas. Mide antes de hacer cambios de "eficiencia". Asegrate que los comentarios y el cdigo concuerden. No redundes el cdigo con comentarios --haz que cada comentario cuente. No comentes el mal cdigo --reescrbelo. Usa nombres de variables que signifiquen algo. Usa etiquetas de sentencias que signifiquen algo. Formatea un programa para ayudar al lector a comprenderlo. Indenta para mostrar la estructura lgica de un programa. Documenta tus esquemas de datos. No sobre-comentes.

Nota del traductor: En una de las pginas del sitio web del propio libro se incluan, adems de las anteriores reglas, las siguientes:

y y y y y y y

Evita el IF aritmtico de Fortran. Usa DO-END y la indentacin para delimitar grupos de sentencias. Usa IF-ELSE para enfatizar que solamente una de dos acciones va a ser llevada a cabo. Usa DO y DO-WHILE para enfatizar la presencia de ciclos. Usa IF...ELSE IF... ELSE IF... ELSE... para implementar bifurcaciones multiva. Evita THEN-IF y los ELSE nulos. Evita los ELSE GOTO y los ELSE RETURN.

De TheElements of Programming Style (Los Elementos del Estilo de Programacin) por Kernighan y Plauger, McGraw-Hill 1974, 1978 ISBN 007-034207-5.

ltima actualizacin: 22/05/2007

Vous aimerez peut-être aussi