Słyszałem, jak kilka osób mówi, że jednym z najlepszych sposobów poprawy umiejętności kodowania jest czytanie innych kodów i ich rozumienie. Moje pytanie, jako stosunkowo nowego programisty, gdzie mogę znaleźć dobre przykłady kodu źródłowego, które nie są zbyt daleko od mojej głowy?
learning
source-code
Jesse McCulloch
źródło
źródło
Odpowiedzi:
Możesz przeglądać projekty open source w witrynach repozytoriów, takich jak GitHub , Codeplex , Google Code lub BitBucket . Znajdziesz projekty o różnych poziomach złożoności, więc powinieneś być w stanie znaleźć coś, co zarówno cię interesuje, ale na początku nie przesadza.
Inną opcją są cotygodniowe posty na blogu Scotta Hanselmana .
Polecam zacząć od ustalonego, aktywnego projektu, aby zmniejszyć szanse na rozpoczęcie czytania kodu, który nie był jeszcze używany i kontrolowany. Idealnie znajdź coś, co Cię interesuje i z którego możesz skorzystać. Korzystanie z aplikacji pomoże ci zrozumieć kod źródłowy. Kolejną zaletą wyboru projektu typu open source jest to, że możesz wprowadzić poprawki lub funkcje, które pomogą uczynić czytanie kodu bardziej interesującym.
Wpatrywanie się w czyjś kod może być zastraszające, więc zacznij od
main
funkcji (lub jej odpowiednika) i przejdź dalej.źródło
Bardzo niewiele osób pisze za pierwszym razem dobry kod źródłowy. Dobry kod źródłowy jest często tworzony przez serię poprawek. Tak więc, jeśli możesz znaleźć kod źródłowy, który został wielokrotnie sprawdzony i wielokrotnie naprawiony, prawdopodobnie jesteś w lepszej lokalizacji. Niektóre projekty open source (i niektóre z nich) są szczególnie dobrze ocenione. Kod pochodzący od firm, które mają obowiązkowe cykle przeglądu (np. Google, ale istnieje wiele innych), może pasować do rachunku.
Biorąc to pod uwagę, nie jestem pewien, czy Twoim celem powinno być znalezienie „świetnego kodu”. Należy spojrzeć na różne style kodu (takie jak te napisane przez twoich współpracowników) i nauczyć się rozpoznawać dobre i złe strony na ten temat. Im więcej złych punktów zidentyfikujesz, tym bardziej będziesz starał się ulepszyć swój kod i wiedzieć, jak to zrobić.
W szczególności uważam, że bardzo dobrym podejściem do uzyskania poczucia dobrego kodu jest użycie interaktywnego debugera do śledzenia złożonego kodu, zgodnie z łańcuchami wywołań. Na przykład przejdź do jednego z głównych plików swojej firmy, ustaw punkt przerwania i zacznij z nich wymyślać.
Po kilku zdezorientowaniu przez funkcje 100-liniowe z dziesięcioma poziomami wcięć i zależnościami od globałów, i kilka razy, gdy przeglądasz dobrze rozłożony kod, ulepszysz swoje własne oprogramowanie.
źródło
Zamiast znajdować świetne kody, zajrzyj do ogólnych książek programistycznych.
np. Kod zakończony, Pisanie solidnego kodu, Wzory projektowe (jestem pewien, że jest wiele innych książek w innym pytaniu i odpowiedzi na tej stronie)
Te książki opisują filozofię uważaną za dobry kod. Czytelność, wydajność, łatwość konserwacji, wykrywanie błędów itp.
Który służy jeszcze lepszym zasobom i jest bardziej wydajny niż próba ustalenia, co autor stara się osiągnąć.
Ps Good Design Software to także to, na co powinieneś zwrócić uwagę. Trudno byłoby go rozpoznać wyłącznie na podstawie obserwacji kodów, biorąc pod uwagę, że projekt jest wystarczająco duży.
źródło
Przekonałem się, że kod bibliotek dostarczanych z wybranym językiem programowania jest często dobrym początkiem, aby zobaczyć najlepsze praktyki i dobry styl kodowania.
Chociaż nie chcesz zaczynać od miejsc takich jak algorytmy sortowania lub złożone klasy kontenerów.
Innym miejscem na ciekawe spostrzeżenia w pisaniu kodu jest Project Euler ( http://projecteuler.net/ ). Nieznaczna wada: Musisz rozwiązać problem, aby uzyskać dostęp do forum, na którym inni opublikowali swoje rozwiązania (ciekawe wyzwania dla wszystkich poziomów doświadczenia). Ale kiedy to zrobisz, znajdziesz przykłady dla prawie wszystkich głównych języków programowania. A ponieważ problem został już rozwiązany, pomoże ci zrozumieć kod innych ludzi, a także zobaczysz kod języków, których jeszcze nie znasz, ale mogą być interesujące.
źródło
Bardzo podobało mi się czytanie Beautiful Code . Ma krótkie, ale bardzo ładne przykłady kodu ze szczegółowymi objaśnieniami.
źródło