Normas de diseño:
Estas normas se aplicarán siempre, salvo en situaciones excepcionales que habrán de justificarse adecuadamente..
- Todos los atributos serán privados. Los objetos que contengan una estructura no facilitarán el acceso a la misma mediante un método get.Proporcionarán los métodos públicos para que se puedan hacer las operaciones necesarias.
- Todas las clases deben ser testeadas antes de su uso. Ninguna clase, salvo las de Test o un conductor para probar el programa, tendrá un método main.
- No se construirán clases anidadas.
- Las clases generadas automáticamente no deben modificarse. Si se necesita agregarles alguna funcionalidad se derivarán.
- No se usarán métodos estáticos.
- No se utilizará continue, y el único sitio donde se puede usar break es en un switch.
- Los métodos tendrán un único return, que será siempre la última instrucción.
- Las clases con atributos deben implementar una interface
- Los subprogramas ni leen ni escriben salvo que ese sea su objetivo. Los datos de entrada deben ser validados siempre que sea posible.
- Las excepciones deben usarse en casos excepcionales (como su nombre indica), o cuando se pide expresamente. Nunca validar mediante excepciones
Recomendaciones generales de documentación
Los ejercicios deben presentarse en pseudocódigo generalizado y en Java.
- Análisis y diseño:
- Brevísimo comentario con el proceso general.
- Entradas y salidas.
- Documentación de los subprogramas diseñados (se colocará delante de la definición de los subprogramas), señalando:
- Signatura (prototipo, cabecera, firma),
- proceso que realizan,
- precondiciones,
- entradas,
- salidas, y
- postcondiciones.
- El pseudocódigo generalizado debe representar la estructura general del programa principal. Es decir, si el algoritmo es iterativo debe quedar reflejado, así como la estructura de opciones si las hay.
- Explicar la utilidad de las variables que pudieran ser menos intuitivas.
- Utilizar código autodocumentado: Las variables tendrán nombres alusivos a lo que guardan, los módulos del pseudocódigo generalizado deben aparecer como comentarios dentro del código fuente y se añadirán, además, cuántos comentarios se crean oportunos para clarificar la lectura del programa.
Estudio de bucles
- Condición de salida y entrada al bucle.
- Tipo de VCB
- Inicialización y actualización de VCB
- Proceso que se repite
- Inicialización y actualización de dicho proceso.
Bastará con especificar un solo estudio para los bucles que sean del mismo tipo.