Post on 06-Jan-2016
description
Codificación
2
Estándares de Programación
• Objetivos
• Alcance
• Ventajas
• Limitaciones
• Ejemplos Usar tales herramientas
Para cada una, …
3
Estándares de Programación (2)
• Objetivos Mayoría del software desarrollado/mantenido por
equipos estándares para uno
• fuerzan a organizarse
estándares para que otros entiendan• qué escribió uno• por qué• cómo se relaciona con el trabajo de otros
fomentar buenas prácticas en una herramienta evitar malas prácticas/enfoques Ejemplo: http://java.sun.com/docs/codeconv/index.html
4
Reutilización de Código
• Roles: Productor
• Identificar qué producir
• Definir características
Consumidor• Identificar qué puede servir
• Evaluar si efectivamente sirve
5
Documentación
• Interna Encabezamiento
Comentarios
• Externa Problema
Algoritmos
Datos
Interfaces
6
Documentación Interna
• Encabezamiento descripción, nombre, programador
• Comentarios Ej: Identificar las diferencias entre estas 3 formas
// Incremento i3
i3 = i3 + 1;
// ajusto contador para leer siguiente
i3 = i3 + 1;
case_counter = case_counter + 1;
7
Proceso de Codificación
• La codificación se comienza cuando Hay algún diseño ya realizado
Y las especificaciones de los módulos a desarrollar están disponibles
• Asignación de módulos top-down, bottom-up, etc. Impacto en la integración y el testing
• Los programadores usan procesos para su tarea
8
Proceso Incremental (First-Code)
Facilita la localización de defectos
Normalmente las fallas se deben al código nuevo
Para seguir este proceso es bueno tener automatizadas las pruebas
Ayuda importante a la hora de mejoras del soft.
9
Primero ProbarEs responsabilidad de las pruebas que el código que será desarrollado tenga todas las funcionalidades necesarias.
Foco en los usuarios del código. Las interfaces están descritas en las pruebas. Esto puede reducir defectos de interfaces.
Algoritmos tempranos pueden no servir. En este caso el código debe ser mejorado.
TDD lleva al extremo esta práctica.
10
Programación de a Pares (Pair)
• Una persona codifica y la otra participa y revisa constantemente el código (revisión en tiempo real e incremental).
• El revisor avisa sobre posibles defectos y si es necesario se corrigen.
• Cuando es necesario el par discute los algoritmos, estructuras de datos o estrategias a ser usadas en el código.
11
Programación de a Pares (2)
• Los roles rotan frecuentemente de forma de que sean pares iguales.
• Pregunta abierta: ¿Aumenta la productividad debido a que la mejora en la calidad de código contrarresta la pérdida provocada por asignar dos personas para una tarea?
• Área activa de investigación, particularmente por la ingeniería de software experimental.