"Wielu zdolnych programistów uczestniczy w nieefektywnych, źle prowadzonych projektach. Inni muszą utrzymywać kod, który właściwie nigdy nie powinien ujrzeć światła dziennego. Źródeł tego rodzaju trudności jest niemało: programowanie samo w sobie jest trudnym zagadnieniem, a tworzenie funkcjonalnych aplikacji głównie wymaga współdziałania wielu osób. Powoduje to, iż kod kreujący aplikację powiększa swoją złożoność, staje się niezrozumiały i niezwykle niełatwy w utrzymaniu. Na szczęście te problemy zostały dostrzeżone i obecnie mamy sporo sposobów ich rozwiązywania.
Ta książka jest dedykowana dla doświadczonych programistów, którzy chcą zdobyć albo pogłębić wiedzę o metodologiach i dobrych praktykach tworzenia złożonego oprogramowania. Stanowi interesująco napisany zbiór heurystyk i technik ułożonych w kolejności wykorzystywania w trakcie rozwijania projektu programistycznego. Omówiono tu pomiędzy innymi listy kontrolne, TDD, rozdzielenie poleceń i zapytań, Git, złożoność cyklomatyczną, transparentność referencyjną, wycinki pionowe, refaktoryzację zastanego kodu czy programowanie typu outside-in. Pokazano w dodatku, jak utrzymać właściwe tempo pracy w trakcie dodawania funkcjonalności, jak rozwiązywać problemy optymalizacji, enkapsulacji, a także projektowania API i testów jednostkowych. Poszczególne zagadnienia zostały zilustrowane kodem przykładowego projektu napisanego w C#, zrozumiałego dla każdego, kto zna dowolny język zorientowany obiektowo.
Dzięki książce zrozumiesz, jak:
* wybierać sprawdzone procesy
* kreować listy kontrolne usprawniające polepszenie wyników
* unikać ",paraliżu analitycznego",
* przeciwdziałać degradacji kodu i niepotrzebnej złożoności
* stosować ulepszone techniki modyfikacji kodu i rozwiązywania problemów
* produktywniej godzić oczekiwania skuteczności i bezpieczeństwa
Celem nie jest pisanie kodu. Celem jest praktyczne oprogramowanie!
"
Ta książka jest dedykowana dla doświadczonych programistów, którzy chcą zdobyć albo pogłębić wiedzę o metodologiach i dobrych praktykach tworzenia złożonego oprogramowania. Stanowi interesująco napisany zbiór heurystyk i technik ułożonych w kolejności wykorzystywania w trakcie rozwijania projektu programistycznego. Omówiono tu pomiędzy innymi listy kontrolne, TDD, rozdzielenie poleceń i zapytań, Git, złożoność cyklomatyczną, transparentność referencyjną, wycinki pionowe, refaktoryzację zastanego kodu czy programowanie typu outside-in. Pokazano w dodatku, jak utrzymać właściwe tempo pracy w trakcie dodawania funkcjonalności, jak rozwiązywać problemy optymalizacji, enkapsulacji, a także projektowania API i testów jednostkowych. Poszczególne zagadnienia zostały zilustrowane kodem przykładowego projektu napisanego w C#, zrozumiałego dla każdego, kto zna dowolny język zorientowany obiektowo.
Dzięki książce zrozumiesz, jak:
* wybierać sprawdzone procesy
* kreować listy kontrolne usprawniające polepszenie wyników
* unikać ",paraliżu analitycznego",
* przeciwdziałać degradacji kodu i niepotrzebnej złożoności
* stosować ulepszone techniki modyfikacji kodu i rozwiązywania problemów
* produktywniej godzić oczekiwania skuteczności i bezpieczeństwa
Celem nie jest pisanie kodu. Celem jest praktyczne oprogramowanie!
"