martes, 10 de octubre de 2017

C elements of Style

Programar es análogo a escribir. De pequeños aprendemos poner letra tras letra para formar palabras y estas forman frases.  Análogamente quien aprende a programar escribe programas cortos, aprendiendo a manejar archivos o familiarizarse con las estructuras de control. 

Cuando pasamos la etapa de programas cortos, de unos cientos del lineas, a programas más complejos, bibliotecas o sistemas completos es necesario aprender a estructurar estos programas.A lo largo del ciclo de vida un programa este va a sufrir modificaciones. Para poder modificar un programa es necesario entender su funcionamiento, hablamos allí de "código legible". Hay quien compara el código difícil de leer con un plato de tallarines, hablamos de "spaghetti code".

En producción escrita se habla de "estilo" para redactar bien y con propiedad. Si hablamos de programar también se habla de estilo. Y pasa por cosas que escuchamos hasta el hartazgo: comentar el código, nombres de variables y  funciones claros, acordes al contexto y tarea. 

El Kernel de Linux tiene un documento con pautas para sus desarrolladores: Linux Kernel coding Style. Las pautas están inspiradas fundamentalmente en El lenguaje de programación C, de  Kernighan y Ritchie. Un viejo libro, escrito por Kernighan y Plunger, sobre el tema es The Elements of Programming Style. Un libro viejo, con muchos ejemplos en Fortran, pero con una serie de lecciones aun validas y aplicables en lenguajes mas modernos como Python o Go. Lo menciono ademas por haber influido Libros y Papers sobre el tema. Uno de esos Papers es Recommended C Style and Coding Standards

Hace algunas semanas buscando otra cosa llegué a la página de Steve Oualline, autor con varios libros publicados sobre C, C++ y PERL. Tengo (y lei) Practical C Programming y Practical C++ Programming. Me impresionó muy bien cuando los leí por el énfasis en escribir programas claros, bien documentados y mantenibles. En el sitio del autor me encontré una copia de C Elementos of Style, de rápida lectura y muy recomendable.

http://www.oualline.com/books.free/style/index.html

No hay comentarios:

Publicar un comentario