Desde la perspectiva del conocimiento:
- Patrones de diseño
- Estrategias de desarrollo de software.
- Diseño orientado a objetos
- Algoritmos Fundamentos de la computadora
- Matemáticas.
Desde una perspectiva de desarrollo de software:
- BESO : “¡Hazlo simple, estúpido!”
- Filosofía UNIX Esencialmente se trata de: escribir código que haga una cosa y lo haga bien
- RAD (Desarrollo rápido de aplicaciones): implemente un prototipo de una idea y evalúela un poco. Si todavía es genial, implemente la lógica comercial adecuada y resuelva todos los problemas de detalles agradables. Si no, tíralo a la basura.
Desde la codificación prospectiva
- ¿La programación se trata de definiciones de variables, para bucles, ifs y estructuras de datos?
- ¿Es adecuado usar un algoritmo de hash perceptual para desarrollar un motor de búsqueda de imágenes?
- Cómo encontrar la subcadena común más larga de tres o más cadenas usando una matriz de sufijos
- Cómo explicar el uso e implementación de una variable estática en C a un principiante
- ¿Cómo se puede observar fácilmente que la complejidad temporal del código escrito es exponencial?
- Código humildemente: no eres el mejor. Descubre quién es y aprende de ellos.
- Siempre tenga dudas sobre su código.
- No asumas que sabes más que nadie.
- Alguien más ya ha encontrado una mejor solución. Encuéntralo.
- No te repitas: si no está SECO, no es POO. Inténtalo de nuevo.
- El código DRY es un código que se puede mantener.
- Se hace bien cuando puedes leerlo como un libro.
- Desarrollar para el futuro: las curitas no duran para siempre.
- Demasiada gente codifica como si no hubiera un mañana.
- Pero mañana, su código apesta.
- Asegúrese de que su código no sea malo mañana.
- Codifique cómo desea que las personas lo codifiquen.
- Documente cómo desea que la gente antes de documentar.
Desde prospectiva de gestión de proyectos de software
- Requisito congelado
- Buena planeación
- Administracion de recursos
- Gestión de riesgos
- Seguro de calidad.
De lo contrario, el desarrollo de software podría convertirse en lo siguiente: