Você está na página 1de 7

Cmo Ser un Buen Codificador de Software

Por J. F. Daz (jfdiaz98@hotmail.com) Lic. en Ciencias de la Computacin La codificacion es una fase muy importante dentro del ciclo de desarrollo de software. Conocida tambin como instrumentacin, la codificacin representa generalmente de 10 a 15% del tiempo total de programacin. Aunque podra parecer una tarea sencilla, la codificacin requiere conocimientos y destrezas especiales. Los buenos codificadores (o coders, como se les conoce) gozan de mucho prestigio en los crculos de programadores y son ms productivos en su trabajo que los que carecen de estas habilidades. De hecho, el ser un buen codificador constituye un excelente paso inicial para los novatos en programacin, y algunos hasta son contratados para llevar a cabo esa tarea en las empresas que disean software. A continuacin se mencionan algunas de las ms importantes habilidades y conocimientos que deben adquirir los principiantes en Programacin para lograr ser buenos codificadores de software.

1. Aprende a mecanografiar bien


Aunque pudiera parecer obvia, esta es una habilidad bsica que debes adquirir para ejercerla eficientemente. No estoy hablando de ser rpido con el teclado --en realidad una velocidad promedio de 25 palabras por minuto es suficiente-- si no saber usarlo bien. En especial, escribir correctamente las palabras reservadas de los lenguajes de programacin (las keywords) y conocer cmo digitar los smbolos especiales utilizados en la sintaxis de estos lenguajes es lo que hace la diferencia entre un buen codificador de software y uno mediocre. Estos smbolos especiales varan de un lenguaje a otro e incluyen carcteres tales como las llaves ({}), los corchetes ([]), smbolos matemticos (<, >, =, %, +, -) las plecas (\ y /), adems de otros carcteres (|, !, #, $, &, ^, ~, etc.), por lo que es de vital importancia saber cmo ubicarlos o mediante cul combinacin de teclas podemos producirlos. Si no sabes usar un teclado, toma un curso de mecanografa clsica o por computadora o aprende usando algn tutorial de software. No irs muy lejos en tu carrera como programador si no eres un buen mecangrafo.

2. Domina tu editor de texto

Los editores son herramientas vitales en la codificacin pues ellos nos permiten digitar y editar el cdigo de nuestros programas para almacenarlos en el computador. Para ser un buen codificador debes dominar eficazmente esta herramienta a fin de que sea tu mejor aliada durante el proceso de codificacin. Un dominio pobre de ella puede incrementar el tiempo de codificacin y por lo tanto el de todo el proyecto de programacin, as como sus costos. El dominar tu editor de texto implica conocer sus caractersticas y limitaciones. Eso, aunado a la aplicacin de tcnicas y prcticas de sentido comn, junto a normas de estilo de codificacin te permitir acelerar tu trabajo, y ser ms eficiente en tu labor.

3. Domina la sintaxis y las herramientas de tu lenguaje de programacin


Esta quiz sea la ms importante habilidad que un codificador debe poseer por cuanto exige conocimiento y no mera destreza. La codificacin requiere un alto grado de dominio de la sintaxis que ofrece el lenguaje de programacin que utilizamos tanto para codificar como para depurar los errores sintcticos y semnticos que podamos cometer en el proceso. Adems, es muy importante el dominio que se tenga de las facilidades y herramientas que ofrece el compilador y del IDE (Interface Development Environment, Interfaz del Ambiente de Desarrollo) que utilicemos, por ejemplo la biblioteca de funciones interconstruidas y el depurador. El dominio y empleo eficiente de la sintaxis del lenguaje a utilizar es un aspecto vital. Reflejar una accin de pseudocdigo como instrucciones de algn lenguaje de programacin es un arte en s mismo que requiere inteligencia y sagacidad, puesto que cada accin del pseudocdigo puede requerir una o varias instrucciones. En otros casos ocurre lo contrario. Podemos hacer uso de una funcin de biblioteca interconstruida y ahorrarnos el tiempo y el esfuerzo que representa la creacin y codificacin de bloques enteros de instrucciones, incluyendo su prueba y depuracin. Las funciones de biblioteca pueden realizar los clculos o acciones que necesitemos y ahorrarnos as tiempo valioso que podemos invertir en otras actividades, como la prueba del programa. Si desconocemos las funciones de biblioteca de nuestro lenguaje o su utilizacin es seguro que tardaremos ms en completar la fase de codificacin, por cuanto podramos estar continuamente inventando la rueda. Adems, las funciones interconstruidas son a menudo ms eficientes que cualquier implementacin que hagamos puesto que ya han sido corregidas y estn optimizadas.

Los conocimientos y la experiencia que el codificador tenga con la sintaxis del lenguaje y sus herramientas, as como las facilidades que ofrece su interfaz son elementos clave para el xito de la codificacin. Muchos programadores emplean versiones superiores del compilador de su lenguaje de trabajo para aprovechar su ms amplio repertorio de funciones de biblioteca, nuevas instrucciones y capacidades de edicin y compilacin. Esto les ayuda a mejorar su productividad, depurar ms eficazmente el cdigo y finalizar en menos tiempo esta fase permitindoles avanzar rpidamente a la siguiente etapa del ciclo de desarollo: la prueba del programa.

4. Aprende a compilar cdigo


Esta es otra de las habilidades imprescindibles de los codificadores. El proceso de la codificacin no concluye al traducir los documentos de diseo de la lgica del programa a la sintaxis especfica de algn lenguaje de programacin, sino que va ms all: el cdigo producido debe estar libre de errores semnticos y sintcticos para que pueda ser usado como materia prima en la Fase de Prueba y Depuracin. Aprender a compilar no significa ejecutar una opcin de la interfaz del compilador usado. Aprender a compilar es una habilidad que requiere, adems de un buen dominio de la sintaxis y la semntica del lenguaje de programacin objetivo, mucha experiencia. Esta experiencia no se puede adquirir sino por medio de la prctica contnua y de la investigacin. Muchos compiladores, empero, dificultan el proceso de aprendizaje por ser demasiado escuetos en sus mensajes de error o por expresar los errores que encuentran en un lenguaje demasiado tcnico, difcil para los principiantes. Es posible encontrar en los libros de texto, los manuales de usuario o la internet, las listas de errores que los compiladores generan junto con su codificacin, lo cual facilita su comprensin y correccin. Si puedes encontrar la lista de errores de tu compilador, ella te ayudar bastante en la adquisicin de experiencia y en el aprendizaje de la tcnica de compilar cdigo.

5. Aprende un buen estilo de programacin


La codificacin tiene mucho que ver con el estilo del programador. Un buen estilo de programacin ayuda a producir cdigo ms claro, fcil de leer, comprender y verificar. Para adquirir un buen estilo de codificacin debes en primer lugar leer el cdigo de los programas que aparecen en

los libros de programacin. El cdigo de estos programas es escrito y revisado cuidadosamente por programadores profesionales, y a menudo integra una gran cantidad de excelentes reglas y prcticas de codificacin que puedes adoptar como propias y aplicarlas consistentemente en tu programacin. Puesto que aprender a codificar es como aprender a escribir lenguaje natural, esta es la mejor manera de aprender estilo: leer lo escrito por los maestros e imitarlos cada vez ms hasta que tus programas comiencen a mostrar la clase de fuerza y economa que aprecias en sus trabajos. Entre algunas de las ms importantes prcticas y reglas de codificacin que debes aprender y emplear estn las siguientes: 1. Dotar a tus programas de caractersticas deseables como generalidad, flexibilidad y sencillez. 2. Utilizar lneas en blanco, la indentacin y delimitadores de bloques de cdigo en lneas independientes (aunque slo sea para una nica instruccin) as como lneas cortas de instrucciones para darle claridad al cdigo y favorecer su lectura. 3. Utilizar identificadores autoexplicativos para todos los objetos empleados en el cdigo (nombres de variables, de constantes, de estructuras de datos, de tipos de datos definidos por el usuario, de subrutinas, etc.) 4. Documentar de manera clara, breve y sencilla el cdigo importante como los algoritmos claves o las instrucciones que utilicen suposiciones o que no sean sencillas de comprender por contexto. 5. No utilizar cdigo sucio o truculento que dificulte la comprensin del programa, o aislarlo en subrutinas separadas y documentarlo adecuadamente. 6. Utilizar las funciones interconstruidas de los lenguajes de programacin. El uso disciplinado y consistente de estas y otras buenas reglas y prcticas de programacin, as como el imitar a los profesionales, te convertir en un mejor codificador, y por ende en un mejor programador cuyo estilo ser la marca individual por el que sers reconocido, admirado y hasta imitado por los dems.

6. Documenta tu cdigo
La Documentacin es una fase aparte del ciclo de desarrollo de programas. De hecho formalmente est despus de la Fase de Prueba y Depuracin. Pero aunque la Fase de Documentacin es una de las ltimas dentro del proceso de desarrollo de software, su desarrollo se va dando de manera silenciosa desde las primeras etapas con la creacin de los documentos necesarios para el diseo de la solucin (diagramas de

flujo, elaboracin de pseudocdigos, diseo de pantallas de captura de datos, etc.) La Fase de Codificacin, etapa en donde por primera vez se materializa el programa mediante la sintaxis de un lenguaje de programacin especfico, no es la excepcin. Es en la Fase de Documentacin donde se documentan los detalles del cdigo del programa. A medida que se va desarrollando el cdigo, se van incluyendo comentarios dentro del programa fuente que son de gran ayuda para quienes tengan que comprender el cdigo para realizar las tareas relacionadas con las pruebas y el mantenimiento del mismo. Este tipo de documentacin se realiza siguiendo lineamientos ampliamente aceptados en los crculos de programacin y enunciados en muchos excelentes libros de texto. El artculo Cmo Documentar Cdigo con Efectividad - Tips para la escritura de documentacin interna resume muchos de estos lineamientos, por lo que te recomiendo encarecidamente su lectura. El esfuerzo empleado en la documentacin no solamente puede ayudar a los testers (probadores y depuradores) o a los mantenedores de nuestros programas. Ser de gran utilidad al creador mismo del cdigo cuando todo el trabajo de desarrollo recaiga sobre l, especialmente cuando retome el cdigo despus de un tiempo de haberlo finalizado, cuando haya olvidado los detalles importantes de la programacin y perdido la familiaridad con el cdigo.

7. Domina las herramientas de programacin


En este caso no me refiero a algn tipo de software. Me refiero a las diversas tcnicas de diseo que se utilizan en las etapas previas del proceso de la programacin. Entre ellas podemos mencionar las tcnicas de diseo de programas tales como la modularizacin y las tcnicas que se derivan de ella (p. ej. top-down y down-top), la flujogramacin y el uso del pseudocdigo. Para ser un buen codificador debes conocer y dominar estas herramientas, por cuanto eres t mismo el que las traduce a la sintaxis de un lenguaje de programacin. Exceptuando los casos en los que una nica persona lleva a cabo todo el proceso de la programacin (donde ella conoce todos los detalles del diseo del programa), en los proyectos que involucran a varias personas los codificadores generalmente solo reciben una serie de documentos que reflejan la estructura y la lgica general de la solucin a implementar. El codificador debe saber cmo leer estos documentos para poder traducirlos a cdigo ejecutable, lo cual implica que

conozca y domine todo lo relacionado con estas herramientas. Pero el dominio que debe tener el codificador no solo se limita a la capacidad de interpretar documentos creados usando esas herramientas. l debe ser capaz de detectar errores en tales documentos, pasando as de ser un simple "intrprete" a ser un elemento de control de calidad. Esta habilidad depender de la experiencia que poseea el codificador y de su compromiso con el proyecto de programacin. Sin embargo, en caso de detectar anomalas o errores en los diagramas o algoritmos que recibe, el codificador debe estar seguro de su hallazgo antes de comunicarlo a su inmediato superior para su respectiva evaluacin. En los proyectos de desarrollo de software profesional el asunto es ms complejo, puesto que deben dominarse ms herramientas de diseo, como por ejemplo, diagramas Warnier-Orr, diagramas Jackson, lenguaje especiales como el OML y el UML, etc. que en s son sencillos pero que requieren mayores conocimientos. Con todo, un buen codificador debe tener estas habilidades para convertirse en un mejor programador.

8. Aprende ingls
Qu tiene que ver el ingls con la codificacin? Aparte de que debes aprender a escribir correctamente las palabras reservadas de la sintaxis de tu lenguaje y que debes interpretar apropiadamente la interfaz de usuario de tu IDE si no cuentas con una versin en tu idioma (opciones de men, ayuda, cajas de dilogos, etc.) lo cual ya es bastante, debes estar en capacidad de comprender los mensajes que enva el compilador por los errores de sintaxis, semntica o de ejecucin que puedan contener tus programas al momento de compilarlos o correrlos. Recuerda que la codificacin no consiste tan solo en digitar cdigo, sino que incluye la eliminacin de estos errores. Esta depuracin es estrictamente necesaria antes de proseguir con las restantes fases del diseo de programas. Por todo lo anterior, debes conseguir un nivel suficiente de ingls como para comprender por qu el compilador se est quejando de tu cdigo y puedas corregir el problema. Un buen dominio del vocabulario tcnico informtico y particular de tu lenguaje ayudar mucho tambin, aunque puedes auxiliarte de un buen programa traductor y/o un diccionario tcnico electrnico como el Spanglish, o de papel para utilizarlo como herramienta de apoyo durante tu codificacin.

9. Respalda tu trabajo
Aunque al ltimo, no es una recomendacin menos importante que las

anteriores. Hacer copias de seguridad te ser de suma utilidad cuando por alguna causa tu PC no responda, el medio de almacenamiento en que pusiste tu trabajo no funcione o un virus o una falla de hadware dae tus archivos. Los respaldos tambin te sern de utilidad durante la Fase de Mantenimiento cuando una modificacin incorrecta o involuntaria estropee el programa que estabas mejorando, cuando necesites recuperar algo de cdigo de versiones anteriores de programas que habas eliminado o para mantener un historial de tu trabajo. Estas son slo algunas recomendaciones. Si he omitido una que valga la pena incluir aqu por favor comuncamela para hacerlo. Si tienes algn comentario, crtica o sugerencia sobre este documento, igual. Y feliz codificacin. :)

Você também pode gostar