2010-04-18 6 views
6

Soy un estudiante de ciencias de la computación, y recién estoy comenzando a escribir programas relativamente más grandes para mi trabajo de curso (entre 750 - 1500 líneas). Hasta ahora, ha sido posible funcionar con cualquier nivel razonable de modularización y diseño orientado a objetos. Sin embargo, ahora que estoy escribiendo un código más complejo para mis tareas, me gustaría aprender a escribir un mejor código.Aprendiendo a escribir programas organizados y modulares

¿Alguien me puede indicar algunos recursos para aprender qué tipo de cosas buscar cuando diseñe la arquitectura de su programa para que pueda modularizarlo lo más posible?

Respuesta

1

refactorización por Martin Fowler es el libro que más me ha ayudado entre los 20 o más libros que he leído en oo, patrones, desarrollo basado en pruebas e ingeniería de software en general durante la última dos años. particularmente la sección sobre olores puede ayudarle a ver lo que necesita evitar a medida que desarrolla código más complejo.

2

Esta pregunta se ha formulado aquí anteriormente y, en general, la respuesta ha sido que no hay tal libro. La razón de esto es que no hay "reglas" que se puedan aplicar al problema: tienes que continuar con la experiencia. Mi experiencia es que debes escribir múltiples bibliotecas con un gráfico de dependencia claro, dirigido solo, pero más allá de eso no me gustaría comprometerme.

1

Hay una cosa importante que facilitará el desarrollo de aplicaciones modulares, o incluso el cambio de una aplicación modular en un momento posterior, que es Dependency Injection.

Permite que sus módulos trabajen por separado de todo lo demás, ya que recibe los datos que necesita para realizar su tarea, sin necesidad de saber nada sobre la aplicación en sí.

Puede llevar algo de experiencia producir un código DI neutral de contexto de buena calidad, por lo que es importante comenzar a pensar y experimentar con él lo antes posible.

+1

Esa es una forma de diseñar código, hay muchas otras. Yo, y muchos, muchos otros logran escribir código modular sin usarlo. –

+0

seguro, pero pidió cualquier recurso, no una solución definitiva que lo abarque todo. –

2

Leer Clean Code por Robert Matin

+3

No, no. O cualquier otro libro de ese idiota. –

+4

Tengo la sensación de que a Neil podría no gustarle ese autor, pero no estoy seguro. – GManNickG

+0

@Neil: ¿Alguna razón específica por la cual no recomendarías este libro? – Krystian