110 likes | 297 Views
Codificación. Estándares de Programación. Objetivos Alcance Ventajas Limitaciones Ejemplos Usar tales herramientas Para cada una, …. Estándares de Programación (2). Objetivos Mayoría del software desarrollado/mantenido por equipos estándares para uno fuerzan a organizarse
E N D
Estándares de Programación • Objetivos • Alcance • Ventajas • Limitaciones • Ejemplos • Usar tales herramientas • Para cada una, …
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
Reutilización de Código • Roles: • Productor • Identificar qué producir • Definir características • Consumidor • Identificar qué puede servir • Evaluar si efectivamente sirve
Documentación • Interna • Encabezamiento • Comentarios • Externa • Problema • Algoritmos • Datos • Interfaces
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;
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
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.
Primero Probar Es 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.
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.
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.