2010-04-18 14 views
6

Jestem studentem informatyki i dopiero zaczynam pisać relatywnie większe programy do moich zajęć (od 750 do 1500 linii). Do tej pory udało się zrealizować każdy rozsądny poziom modularyzacji i projektowania obiektowego. Jednak teraz, gdy piszę bardziej złożony kod dla moich zadań, chciałbym nauczyć się pisać lepszy kod.Nauka pisania programów zorganizowanych i modułowych

Czy ktoś może wskazać mi kierunek działania niektórych zasobów, aby dowiedzieć się, na co należy zwrócić uwagę przy projektowaniu architektury programu, aby można go było maksymalnie zmodularyzować?

Odpowiedz

1

refaktoring przez Martin Fowler jest książka, która pomogła mi najbardziej spośród 20 lub więcej książek, które przeczytałem na OO, wzorów, Test-Driven Development i ogólnej inżynierii oprogramowania w ciągu ostatnich dwa lata. W szczególności sekcja dotycząca zapachów może pomóc w zrozumieniu, czego należy unikać, ponieważ opracowujesz bardziej złożony kod.

2

To pytanie zostało już zadane wcześniej, a odpowiedź na ogół brzmi, że nie ma takiej książki. Powodem tego jest to, że nie ma "reguł", które można zastosować do problemu - musisz przejść do doświadczenia. Moje doświadczenie polega na tym, że powinieneś napisać wiele bibliotek z jasnym, ukierunkowanym grafem zależności, ale poza tym nie chciałbym się angażować.

1

Jest jedna ważna rzecz, która ułatwi tworzenie aplikacji modułowych, a nawet późniejszy moduł aplikacji, czyli Dependency Injection.

Pozwala to modułom pracować oddzielnie od wszystkiego innego, ponieważ otrzymuje dane niezbędne do wykonania zadania, bez potrzeby posiadania wiedzy o samej aplikacji.

Może zaistnieć potrzeba uzyskania dobrego jakościowo kodu DI o dobrej jakości, dlatego tak ważne jest, aby zacząć myśleć i eksperymentować z nim tak szybko, jak to możliwe.

+1

To jeden ze sposobów projektowania kodu - jest wiele innych. Ja, i wielu, wielu innym udało się napisać modułowy kod bez jego używania. –

+0

na pewno, ale poprosił o dowolny zasób, a nie ostateczne, wszechogarniające rozwiązanie. –

2

Czytaj Clean Code Robert Matin

+3

Nie, nie rób tego. Albo jakakolwiek inna książka tego dureńka. –

+4

Wyczuwam, że Neil może nie lubić tego autora, ale nie jestem pewien. – GManNickG

+0

@Neil: Czy jest jakiś szczególny powód, dla którego nie poleciłbyś tej książki? – Krystian