Está en la página 1de 19

Taller Intensivo de

Programación en C/C++
Buenas Prácticas en el desarrollo de Software
Generalidades

• Las Buenas prácticas en el desarrollo de software


corresponden a un conjunto de prácticas definidas por un
proceso o metodología para obtener mejores resultados
cuando se desarrolla software.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 2


Buenas Prácticas

• Programación por parejas.


El código es producido por dos programadores sentados en el mismo
computador. Esta práctica asegura que código es revisado por al menos
otro programador, dando como resultado un mejor diseño, mejores
pruebas de testing, y un mejor código fuente en general.
• Versiones pequeñas.
Esta práctica fomenta el desarrollo de la aplicación mediante el uso de
las metodologías incremental o evolutiva, las cuales consisten
básicamente en construir la aplicación final en base a una serie de
iteraciones del software, donde en cada iteración se construye
únicamente un pequeño conjunto de requerimientos.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 3


Buenas Prácticas

• Integración continua.
Esta práctica permite al equipo desarrollador integrar continuamente la
versión actual en desarrollo al software principal. Cada integración es
verificada antes y después para detectar posibles errores de integración.
• Estándares de codificación.
Esta práctica permite unificar el código fuente bajo un mismo "lenguaje
lógico" permitiendo que el entendimiento sea más sencillo para todos
los desarrolladores.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 4


Estándares de Codificación

• Los nombres de carpetas se escriben en minúsculas y sin espacios.


carpeta
• Los nombres de las librerías en minúsculas y en mayúscula la
primera letra de cada cambio de concepto.
mombreDeLibreria.h
• Los nombres de las variables y las funciones se escriben en
minúsculas y en mayúscula la primera letra de cada cambio de
concepto.
nombreDeFuncion
• Los nombres de constantes en mayúsculas todas las letras y cada
cambio de concepto con un guión bajo ‘_’.
NOMBRE_DE_CONSTANTE
Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 5
Estándares de Codificación
Nombres
• Los nombres de las variables y de las funciones deben ser
apropiados. Una pieza clave para un buen estilo es la elección
apropiada de nombres de variable y funciones. Variables pobremente
nombradas dificultan la lectura del código fuente y su comprensión.
Anti-ejemplo:
int a,b,c;if(a<24&&b<60&&c<60)return true;else return false;

int perro,gato,ave;if(perro<24&&gato<60&&ave<60)return true;


else return false;

Ejemplo:
int horas,minutos,segundos;
if(horas<24&&minutos<60&&segundos<60)return true;else return false;

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 6


Estándares de Codificación
Nombres
• Las funciones y variables globales o de uso prolongado, deben tener
nombres descriptivos, sin importar que sean largos.

int cerrarConexion();

• Las variables locales o de corto alcance, por ejemplo un contador,


deberían tener nombres cortos y simples.
Ejemplo: Anti-ejemplo:
int i; int contadorDeFor;

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 7


Estándares de Codificación

• Escriba sólo una instrucción por línea.


Anti-ejemplo:

int horas,minutos,segundos;
if(horas<24&&minutos<60&&segundos<60)return true;else return false;

Ejemplo:

int horas,minutos,segundos;
if(horas<24&&minutos<60&&segundos<60)
return true;
else
return false;

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 8


Estándares de Codificación
Espaciado

• Generalmente, los lenguajes de formato libre ignoran los espacios en


blanco, por lo que se pueden añadir libremente al código fuente. El
buen uso del espaciado en la disposición del código, es considerado
un buen estilo de programación.
Anti-ejemplo: int horas,minutos,segundos;
if(horas<24&&minutos<60&&segundos<60)
return true;
else
return false;

Ejemplo: int horas, minutos, segundos;


if( horas < 24 && minutos < 60 && segundos < 60 )
return true;
else
return false;

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 9


Estándares de Codificación
Uso de paréntesis

• Utilice paréntesis para que las cláusulas de una expresión sean


evidentes, y no se preste para malas interpretaciones.
Anti-ejemplo:
if( horas < 24 && minutos < 60 && segundos < 60 )
return true;
else
return false;
Ejemplo:
if( (horas < 24) && (minutos < 60) && (segundos < 60) )
return true;
else
return false;

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 10


Estándares de Codificación
Indentación

• Por lo general, los lenguajes de programación que usan llaves para


indentar o delimitar bloques lógicos de código. Además se utilizan
espacios y tabulaciones para ordenar el código y facilitar la lectura
del mismo. Estos espacios son ignorados por el compilador.
Anti-ejemplo:
if( (horas < 24) && (minutos < 60) && (segundos < 60) )
return true;
else
return false;

Ejemplo:
if( (horas < 24) && (minutos < 60) && (segundos < 60) ){
return true;
}else{
return false;
}

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 11


Estándares de Codificación
Indentación

• Si a las líneas de continuación no se les aplica sangría


automáticamente, hágalo con una tabulación.
if( (horas < 24) && (minutos < 60) &&
Anti-ejemplo: (segundos < 60) ){
return true;
}else{
return false;
}

Ejemplo: if( (horas < 24) && (minutos < 60) &&
(segundos < 60) ){
return true;
}else{
return false;
}

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 12


Estándares de Codificación
Bucles

• A pesar de que existen distintas formas de construir un bucle o un


proceso iterativo. El uso adecuado de este tipo de sentencias ayuda
a alguien que esté leyendo el código a entender más fácilmente la
secuencia de ejecución.
Anti-ejemplo:
int cuenta = 0;
while ( cuenta < 5 ){
printf("%d", cuenta * 2);
cuenta = cuenta + 1;
}

Ejemplo:
int cuenta;
for( cuenta = 0; cuenta < 5; cuenta++ ){
printf("%d", cuenta * 2);
}

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 13


Estándares de Codificación
tipos de datos abstractos

• Cada conjunto de valores que merezca un tipo, deberá ser manejado


con un tipo aparte, de esta manera se abstrae al programador del
detalle de qué debe ser ese tipo (Utilización de TDA).

struct cliente{
char nombre[15];
int edad;
};

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 14


Estándares de Codificación
Booleanos

• Las variables de tipo lógico o booleano deberán en lo posible tener


nombres que se vean como predicados.
Ejemplo: Anti-ejemplo:

if(tenemosAguinaldo) if(estadoAguinaldo)
comenzarFiesta(); comenzarFiesta();

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 15


eXtreme Programming

• La programación extrema o eXtreme Programming (XP) es el


enfoque de la ingeniería de software más destacado de los procesos
ágiles de desarrollo de software, ya que pone más énfasis en la
adaptabilidad del software que en la previsibilidad.

• XP es una metodología centrada en potenciar las relaciones


interpersonales como clave para el éxito en desarrollo de software,
promoviendo el trabajo en equipo, preocupándose por el aprendizaje
de los desarrolladores, y propiciando un buen clima de trabajo.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 16


eXtreme Programming

• Algunas de las prácticas seguidas en la metodología XP son:

- Versiones pequeñas.
- Diseño simple.
- Pruebas continuas.
- Programación por parejas.
- Posesión colectiva del código.
- Integración continúa.
- Refactorización.
- Coraje o valentía.
- Estándares de codificación.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 17


eXtreme Programming
Coraje o Valentía
• Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y
programar para hoy y no para mañana. Esto es un esfuerzo para evitar
empantanarse en el diseño y requerir demasiado tiempo y trabajo para
implementar el resto del proyecto.
• La valentía le permite a los desarrolladores que se sientan cómodos con
reconstruir su código cuando sea necesario. Esto significa revisar el sistema
existente y modificarlo si con ello los cambios futuros se implementaran más
fácilmente.
• Otro ejemplo de valentía es saber cuando desechar un código: valentía para
quitar código fuente obsoleto, sin importar cuanto esfuerzo y tiempo se
invirtió en crear ese código.
• Además, valentía significa persistencia: un programador puede permanecer
sin avanzar en un problema complejo por un día entero, y luego lo resolverá
rápidamente al día siguiente, sólo si es persistente.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 18


eXtreme Programming
aplicado al taller
• Formaremos parejas de programadores, las cuales podrán cambiar
en el tiempo. Además se busca que ambos programadores no
tengan el mismo nivel. La idea es que todos aprendamos!!

• Cada pareja tendrá un único computador y los programadores se


irán turnando cada cierto tiempo para poder codificar.

• Entre ambos programadores deberán construir el código fuente, pero


el programador que no este codificando deberá ir revisando "al
vuelo" el código construido, de manera de que éste no contenga
errores lógicos, estructurales ni de lenguaje.

Taller de C – Buenas Prácticas en el Desarrollo de Software Dr. Ramiro Donoso Floody 19

También podría gustarte