Częścią wartości Open Source jest zapewnienie świetnego przykładowego kodu osobom rozpoczynającym pracę z nową platformą lub językiem.
Jaki jest najlepszy kod Open Source już napotkał i dlaczego lubisz swój wybór? Zna każdy język, ale szczególnie interesują mnie najlepsze przykłady Objective-C, na które możesz wskazać.
Oczywiście jest to pytanie otwarte, więc zostawię pytanie otwarte i zobaczę, jakie odpowiedzi otrzymamy.
Dzięki!
EDYCJA: Dla „najlepszego” myślałem o kodzie zgodnym z idiomami w danym języku lub platformie, a także o częściach, które czynią kod „profesjonalnym” - dobra dokumentacja, pakiet testowy itp. Kod, który jest zwięzły, ale niezbyt mądry korzystnie bardzo zwięzłe lub kod rozmowny.
Odpowiedzi:
Muszę powiedzieć, że po spojrzał na bitach kodu open source, na przestrzeni lat, byłem ogromnie rozczarowany prawie wszystko.
Główną irytacją dla mnie jest to, że zwykle jest bardzo mało komentarzy, często jedynymi komentarzami są długie i legalne informacje o prawach autorskich.
Jądro Linux jest przykładem, w którym pliki często nie mają nawet komentarz w nich mówiąc jakiemu celowi służą (np sterownik XYZ będzie przynajmniej powiedzieć mi, że jestem w przybliżeniu właściwym miejscu).
Doszedłem z programowaniem komercyjnym i obrony, gdzie standardy kodowania wymaga sensownych komentarzy zrozumiałe nie tylko powiedzieć, co robi zespół kod, ale przez cały kod musi istnieć bloki komentarze opisujące algorytmów, metod, osobliwości, hacki / sprytnych rzeczy , wszystko po to, aby każdy, kto przyjdzie za nim, mógł SZYBKO rozejrzeć się i dowiedzieć, co się dzieje, a nie przez staranne branie w głąb rzeczywistego kodu.
Może morał brzmi: Powiedz mi, co robisz, dont make me zrozumieć.
Nie znalazłem ŻADNEGO kodu open source, który działałby tak dobrze. O ile patrząc na open source jako sposobu uczenia się dobrych praktyk kodowania, moja rada jest jaundiced: Nie.
źródło
Słyszałem bardzo dobre rzeczy o SQLite kodzie.
Od małego I wyglądało na to, że wygląda bardzo czyste.
źródło
Donald Knuth napisał dwa programy, aby pomóc mu przygotowana jego formuł matematycznych w swoich książkach lepiej niż jego wydawca mógł.
Te dwa programy (w ostatecznej wersji) został napisany przy użyciu literat Programowanie co pozwoliło na stworzenie wersji drukowanej, typeset kodu źródłowego, a zostały one opublikowane jako książki. Są to po prostu najlepiej udokumentowanych programów, jakie kiedykolwiek czytałem!
Nie są one dostępne do czytania online, ale Amazon również pozwala ci „zajrzeć do środka” książki Metafont pod adresem http://www.amazon.com/Computers-Typesetting-D-Metafont-Program/dp/0201134381/
Ostrzeżenie: To jest ciężkie rzeczy, dlatego każda książka działa na 600 stron.
źródło
Książka Piękna Kodeks stara się odpowiedzieć na to pytanie z kilkoma próbkami co myśleć współpracownicy są egzemplarze pięknego kodu z projektów open source.
źródło
CodeIgniter
Niektóre z najczystszych, najlepiej udokumentowanym kodem źródłowym widziałem od projektu OS.
źródło
Widziałem 2 projekty o bardzo dobrej strukturze:
Szczególnie drugi jest bardzo interesujący w oparciu o kilka rzeczy:
Również słyszałem Postgre jest napisane czysto (w przeciwieństwie do MySQL), ale ja jej nie czytać siebie.
źródło
Niektórzy twierdzą, że kod C dla jądra Linuksa jest naprawdę dobry.
(Nie, że rozumiem rzecz! To prawdopodobnie najlepszy napisany projekt open-source C ok.)
źródło
Odkryłem, że kod źródłowy LLVM jest bardzo czytelny. Jestem prawie pewien, że to najczystszy C ++, jaki widziałem. Jeśli nie jesteś zaznajomiony z nim, to w zasadzie zestaw narzędzi budowlanych kompilator.
Jest to dość duży projekt, choć, więc nie należy się spodziewać, aby być w stanie szybko zrozumieć dokładnie, jak wszystko działa. Ale to powinno być dość łatwo dostać przegląd wysokiego poziomu.
źródło
To nie jest duży projekt, ale SubSonic ORM był dla mnie niezwykle łatwy do zhakowania. Był to pierwszy prawdziwy projekt open source, który mogłem zmodyfikować dokładnie tak, jak potrzebowałem. Większość innych skończyło się na spojrzeniu na źródło i uderzeniu głową w ścianę. Mam go częściowo obsługującego PostgreSQL (w oparciu o dostawcę SQL Server) w ciągu kilku godzin. To najlepiej zorganizowany projekt, jaki widziałem ... chociaż nie wspominając, że obejrzałem wiele projektów typu open source.
źródło
Najpierw prosty przykład: kod systemu obsługi zdarzeń zope.event. Użyłem innych systemów zdarzeń, które wysyłały zdarzenia do różnych detektorów zdarzeń. Kiedy zobaczyłem kod zope.event, nadszedł czas na twarz, kiedy zdałem sobie sprawę, jak proste mogą być niektóre rzeczy.
Jest napisany w Pythonie, a tutaj jest cały kod:
Aby dodać subskrybenta, wykonaj następujące czynności:
Najlepszy przykład KISS, jaki widziałem.
Wtedy bardziej skomplikowany przykład: marsjańska baza kodu jest bardzo miły i łatwy do odczytania, nawet jeśli jest to za pomocą kilku sprytnych hacki Python. To samo dotyczy większości kodu Grok, który jest zbudowany przy użyciu Marsa.
źródło
Rozważmy przeczytaniu tej książki architektura open source . Powinno to dać krytykę jak i dlaczego decyzje projektowe zostały wykonane w ramach projektów, które zostały omówione w książce.
Zamiast szukać najlepszych, które mogą Cię długo nie umykać, spróbuj docenić projekt niektórych projektów, być może wykraczający poza zakres książki. To może pomóc w budowaniu sukcesów tych projektów zamiast powtarzania ich błędów (lub, jak to się powszechnie nazywa, wymyślania koła na nowo).
źródło