7.3.
Buena práctica número 20. Cree un entorno de desarrollo
que responda
De
todos los componentes que se necesitan para desarrollar software
altamente complejo, ninguno contribuye más a la productividad
del programador y a la calidad del código resultante que el
entorno de desarrollo. El tiempo invertido en crear este entorno
normalmente se recupera multiplicado por muchas veces en el transcurso
del proyecto de desarrollo. Debería considerar los siguientes
temas:
-
Tenga
un repositorio único. Para asegurarse
de que todos los programadores trabajan con la
misma base de código, es esencial usar un
sistema de gestión de código fuente.
Herramientas como PVCS, Source Safe o Perforce
permiten a los programadores asignar versión
a los archivos y compartirlos. Debería usar
estas herramientas con los archivos fuente y con
todos los otros archivos de aplicación,
incluyendo archivos de construcción, de
guión, DDL’s, imágenes y documentos
de diseño. Además, asegúrese
de hacer frecuentemente copia de respaldo del repositorio.
-
Integre
con frecuencia. La integración
empeora exponencialmente con el tiempo. Una integración
continua ahorra tiempo total de integración,
permitiendo una mayor productividad a los programadores.
Incluso los proyectos más grandes pueden
integrarse diariamente.
-
Automatice
por completo el proceso de construcción. Los
programadores no deberían hacer nada más
complejo que escribir un único comando para
ejecutar el proceso de construcción desde
cero. Para ello, pueden usarse herramientas de
líneas de comando como Make y Ant. El proceso
de construcción debería ser capaz
de tomar una máquina completamente limpia,
descargar el código del sistema de gestión
de código fuente, construir todos los archivos
necesarios, empaquetarlos y desplegarlos, todo
ello en un único paso.
-
Reproduzca
el entorno de producción. Uno de
los problemas más difíciles de resolver
es cuando el código se ejecuta correctamente
en una máquina pero falla en otra. Esto
se debe normalmente a diferentes parámetros
de configuración en el entorno. Para evitar
estos problemas, los entornos de desarrollo deberían
ser tan similares al de producción como
sea posible. Esto se aplica a hardware, software,
sistemas operativos y máquinas virtuales
de Java.
-
Cree
un entorno autónomo. En las pruebas,
los programadores hacen una serie de suposiciones.
A veces, estas suposiciones demuestran ser falsas
y se desperdicia tiempo intentando resolver problemas
que realmente no existen. La corrupción
de datos es un ejemplo. Para evitar estos problemas,
cada desarrollador debería tener su propio
entorno y espacio de datos a los cuales accede
en exclusiva.
-
Use
un conjunto base de datos. Para probar
correctamente el código, el personal de
programación y de prueba necesita usar datos
conocidos como insumo del proceso de pruebas. Estos
datos se modifican rápidamente cuando se
ejecuta el código. Para permitir que los
programadores comiencen siempre con datos conocidos,
es necesario que exista un conjunto base de datos
que se instale fácil y rápidamente
en el esquema de base de datos que usa el programador.
Como
con todas las buenas prácticas, considere las que funcionan
para usted y descarte el resto. Estas sugerencias pueden mejorar
dram áticamente su experiencia de desarrollo.
|