Jaka jest poprawna kolejność czytania tych książek? [Zamknięte]

25

Jestem młodszym programistą C #, uczyłem się w domu i teraz dostałem swoją pierwszą pracę :)

Chcę kupić te książki. Ale jaka jest poprawna kolejność czytania tych książek?

Kod zakończony: praktyczny podręcznik budowy oprogramowania

Clean Code: A Handbook of Agile Software Craftsmanship

Pragmatic Programmer

Tarek Saied
źródło
6
Nie ma prawidłowej kolejności (jak powiedział @Oded). Prawdopodobnie będziesz je czytać (a przynajmniej ich części) w kółko. Więc wybierz jedną, roztrzaskaj okładkę i
przejedź
8
Konwencjonalna mądrość mówi, że powinieneś zacząć od pierwszej strony, a kończyć na ostatniej stronie. ;)
vaughandroid,
1
Nie widzę żadnego powodu, by głosować.
mmdemirbas,
+1 do dobrego wyboru odpowiednich książek do dalszych ulepszeń
EL Yusubov
Oto kolejna, którą możesz chcieć (wielu uważa to za Biblię C # .NET): Pro C # 2010 i platformę .NET 4, piąta edycja (mogą nawet mieć jedną dla .NET 5 i VS 2012 wkrótce).
Linuxios,

Odpowiedzi:

44

Nie ma „prawidłowej” kolejności czytania tych książek.

Każdy z nich koncentruje się na różnych aspektach inżynierii oprogramowania.

  • Clean Code - koncentruje się na kodowaniu w małych. Jak pisać klasy i funkcje.
  • Code Complete - koncentruje się na procesach inżynierii oprogramowania.
  • Pragmatic Programmer - koncentruje się na pracy w zespole produkującym oprogramowanie.
Oded
źródło
7
@Downvoter - chcesz komentować?
Oded
12

Gratulujemy zdobycia pierwszej pracy! I naprawdę dokonałeś dobrego wyboru książki!

Te książki są arcydziełami, które każdy programista może przeczytać przynajmniej raz.

Z własnego doświadczenia radziłbym czytać książki na przemian . Faktem jest, że możesz się nudzić / znudzić z jednej książki, a przejście do pokrewnej książki sprawi, że ponownie się skoncentrujesz, a za sceną twój mózg rozpocznie się, aby przetworzyć informacje. W ten sposób możesz maksymalnie skorzystać z tego procesu.

Edycja: jak wspomniano w komentarzu, jest to coś w rodzaju wielowątkowego rozwiązania, które można dodać do wydajności :)

Jednak nie przegrzewaj się. Posiadanie więcej niż 3 książek może być trudne w tym samym czasie.

EL Yusubov
źródło
8
Uważam za zabawne, że rozwiązaniem programisty dla rzeczywistego problemu jest wdrożenie wielowątkowości :)
Rotem
@Rotem - Przyczyna tego jest prosta i przypomina wyrażenie regularne. Gdy zaczniesz takie zadanie, twoje rzeczywiste problemy zaczną wyglądać o wiele mniej poważnie ;-),
Joris Timmermans
4

Zgadzam się z odpowiedziami „brak prawidłowej kolejności”, ale zaoferuję inny obrót ...

Rozpocznij iw pełni przetraw kod zakończony . Jest to najbardziej podstawowa, najbardziej wszechstronna książka podstawowa. Poświęć dużo czasu na czytanie i ponowne czytanie. To powinno dać ci najwięcej zwrotów, jeśli jesteś początkującym.

Richard Morgan
źródło
2

Przeczytałem tylko „Czysty kod” i było bardzo dobrze. Wujek Bob mówi ci, jak zostać dobrym twórcą oprogramowania i jak pisać czysty kod, który można utrzymać nawet przez lata. Więc może powinieneś najpierw przeczytać tę książkę :-) (Szkoda, że ​​nie przeczytałem wcześniej).

Jeśli chcesz uzyskać większy wgląd (na zależności między modułami), mogę również polecić jego rzutowanie kodu: http://www.cleancoders.com/

habakuk
źródło
1

Przeczytałem Pragmatic Programmer i jestem w trakcie czytania „Code Complete”.

Z dotychczasowego doświadczenia uważam, że „Pragmatic Programmer” to świetne miejsce na rozpoczęcie, ponieważ daje ogólny obraz różnych problemów z kodowaniem. Czytam to w ciągu tygodnia; czytając to, od razu uświadomiłem sobie kilka lepszych sposobów rozwiązywania problemów, z którymi mam do czynienia na co dzień.

„Code Complete” jest dłuższy i bardziej wyczerpujący.

Ciastka Z Mąki Ryżowej
źródło
1

Też czytam te książki, oto moje zamówienie:

  1. Wyczyść kod
  2. Pragmatyczny programista
  3. Kod ukończony
Homero Barbosa
źródło
Dziękujemy za opublikowanie pierwszej odpowiedzi na Programmers Stack Exchange. Nie jestem pewien, dlaczego miałeś głos negatywny w tej sprawie, ale być może głosujący w dół szukał nie tylko listy, ale także uzasadnienia. Jeśli jeszcze tego nie zrobiłeś, przeczytaj często zadawane pytania, które zawierają porady dotyczące zadawania pytań i udzielania odpowiedzi oraz są nagradzane odznaką programmers.stackexchange.com/faq . Powodzenia w przyszłym uczestnictwie w wymianie stosów. Mam nadzieję, że uznasz to za przydatne i satysfakcjonujące.
DeveloperDon
0

Te książki mają wysoką wartość.

Często deweloperzy wejść do pracy, wiedząc, przeważnie co bez większych szczegółów na temat dlaczego . Trzy wybrane książki oferują wiele, aby poprawić to, co robisz jako programista, i są dobre w dostarczaniu opisów na poparcie swoich recept .

Czytanie tych książek otworzy cię na wiele pomysłów, których możesz sobie nawet nie wyobrażać. Później, gdy zdobędziesz doświadczenie, wydostaniesz jeszcze więcej z tych książek, odnosząc to, co widziałeś, do tego, co opisują.

Łącznie książki te mają ponad 1500 stron. To dużo czytania i masz rację, ustalając priorytety i odwzorowując sekwencję. Sugeruję, aby pobrać spis treści dla wszystkich trzech i przejrzeć rozdziały w każdym według tego, czego najbardziej potrzebujesz teraz do pracy. Możesz porównać i przeciwstawić się ich radom dotyczącym nazewnictwa zmiennych i klas, ale myślę, że jeśli przeczytasz o nazewnictwie raz, to wystarczy. Podobnie, jeśli Twój zespół lub menedżer mają wytyczne, zastosuj się do nich.

Być może możesz je pożyczyć od znajomego lub biblioteki przed ich zakupem. A może nawet spędzić kilka godzin w lokalnej księgarni. Jeśli poświęcisz czas na czytanie, przejrzysz wszystkie trzy w oparciu o swoje priorytety, zrobisz notatki na pustej kartce papieru, znajdziesz słownictwo i koncepcje, które możesz zastosować w pracy dzisiaj.

Pragmatic to świetny opis podejścia do nauki, którego potrzebujesz podczas korzystania z tych książek. Te trzy elementy nakładają się na siebie i myślę, że wiele zostało ponownie odwiedzonych w źródłach dostępnych w Internecie. Istnieje wiele rzeczy, których możesz potrzebować, których nie ma w tych książkach lub które są ledwo poruszone. Zastanów się nad dodaniem kolejnych tematów, które wykraczają poza zakres tych książek:

  • Samouczki języka programowania.
  • Narzędzia kontroli i budowania specyficzne dla Twojej organizacji.
  • Pojęcia i implementacje struktur danych w języku C #.
  • Standardowe biblioteki klas C #.
  • Standardy kodowania właściwe dla Twojej organizacji.
  • Testowanie, prawdopodobnie za pomocą narzędzi MS Test.
  • Wytyczne projektowe UI / UX dla twoich platform.
  • Odpowiednie wzorce projektowe, które dla C #, spodziewałbym się, że MVVM będzie najbardziej krytyczny.

Innym zagadnieniem, które moim zdaniem może pomóc, jest wzięcie pod uwagę daty publikacji, kontekstu i celów każdej książki. Od najstarszego do najnowszego: Pragmatic 1999, Code Complete 2nd Ed. 2004, Clean Code 2008. Kontekst: Pragmatic wymienia C, C ++, Java w swoim indeksie, ale nie C #. Kod zakończony to Microsoft Press, napisany przez byłego faceta Microsoftu, a ponieważ pracujesz w języku Microsoft, może istnieć pewne powinowactwo, ale indeks ma jeden wpis dla C # i zyskuje mniej miłości niż Fortran na stronie 64.

Książka Roberta Martina jest bardziej pochłonięta podejściem zwinnym niż pozostałe dwa, jest najnowsza i ma całkiem niezłe opisy nazewnictwa, projektowania klas i prawdopodobnie znacznie więcej pomocy w zakresie współbieżności niż inne. Może to być trochę niesprawiedliwe, ale późniejsze książki mogą mówić o większej ilości rzeczy i nowszych, a ich kontekst jest ogólnie bardziej podobny do tego, co robimy dzisiaj.

Każda z tych książek do pewnego stopnia konkuruje w podobnym zakresie tematycznym. To sprawia, że ​​chcesz zapytać: „Jakie nowsze, szeroko zakrojone książki programistyczne konkurują w tej samej przestrzeni?”

DeveloperDon
źródło