Bagian dari nilai Open Source adalah memberikan contoh kode yang bagus untuk orang-orang yang memulai dengan platform atau bahasa baru.
Apa kode Open Source terbaik yang pernah Anda temui, dan mengapa Anda menyukai pilihan Anda? Bahasa apa pun bisa digunakan, tetapi saya sangat tertarik dengan contoh-contoh terbaik Objective-C yang dapat Anda tunjukkan.
Jelas ini adalah pertanyaan terbuka, jadi saya akan membiarkan pertanyaan terbuka untuk sementara waktu dan melihat jawaban seperti apa yang kita dapatkan.
Terima kasih!
EDIT: Untuk "terbaik" saya memikirkan kode yang mengikuti idiom dalam bahasa atau platform yang diberikan, serta termasuk bagian-bagian yang membuat kode "profesional" - dokumentasi yang baik, suite pengujian, dll. Kode yang ringkas, tetapi tidak terlalu pintar lebih disukai untuk kode yang sangat singkat atau cerewet.
Jawaban:
Saya harus mengatakan bahwa setelah melihat sedikit kode sumber terbuka selama bertahun-tahun, saya sangat kecewa dengan semuanya.
Iritasi utama bagi saya adalah bahwa biasanya ada sangat sedikit komentar, seringkali satu-satunya komentar adalah pemberitahuan hak cipta yang panjang dan legalistik.
Kernel linux adalah contoh di mana file sering bahkan tidak memiliki komentar di dalamnya mengatakan tujuan apa yang mereka layani (misalnya driver untuk XYZ setidaknya akan memberitahu saya bahwa saya berada di tempat yang kira-kira tepat).
Saya datang dari pemrograman komersial dan pertahanan di mana standar pengkodean membutuhkan komentar yang masuk akal dan masuk akal, tidak hanya untuk mengatakan apa yang dilakukan unit kode, tetapi di seluruh kode harus ada blok komentar yang menggambarkan algoritma, metode, kekhasan, peretasan / hal-hal pintar , semua sehingga siapa pun yang datang setelah dapat melihat dan mencari tahu dengan cepat apa yang sedang dilakukan daripada dengan susah payah mengarungi kode yang sebenarnya.
Mungkin moralnya adalah: Katakan padaku apa yang kamu lakukan, jangan buat aku mencari tahu.
Saya belum menemukan kode sumber terbuka APA PUN yang melakukan ini dengan baik. Sejauh mencari open source sebagai cara belajar praktik pengkodean yang baik, saran saya tentang penyakit kuning adalah: Jangan.
sumber
Saya telah mendengar hal-hal yang sangat baik tentang basis kode Sqlite .
Dari sedikit yang saya lihat, itu terlihat sangat bersih.
sumber
Donald Knuth menulis dua program untuk membantunya mengeset rumus matematika di buku-bukunya lebih baik daripada penerbitnya.
Kedua program ini (dalam versi finalnya) ditulis menggunakan Literate Programming yang memungkinkan untuk membuat versi kode sumber yang dicetak dan diketik, dan semuanya diterbitkan sebagai buku. Ini hanyalah program terdokumentasi terbaik yang pernah saya baca!
Mereka tidak tersedia untuk dibaca online, tetapi Amazon memungkinkan Anda juga "Lihat ke dalam" buku Metafont di http://www.amazon.com/Computers-Typesetting-D-Metafont-Program/dp/0201134381/
Peringatan: Ini adalah hal yang berat, itulah sebabnya setiap buku memiliki 600 halaman.
sumber
Buku Beautiful Code mencoba menjawab pertanyaan ini dengan beberapa contoh tentang apa yang para kontributor anggap sebagai contoh kode indah dari proyek-proyek open source.
sumber
CodeIgniter
Beberapa kode sumber terbersih dan terdokumentasi terbaik yang pernah saya lihat dari proyek OS.
sumber
Saya telah melihat 2 proyek yang terstruktur dengan sangat baik:
Terutama, yang kedua sangat menarik berdasarkan beberapa hal:
Saya juga mendengar Postgre ditulis dengan rapi (bukan MySql), tetapi saya belum membacanya sendiri.
sumber
Ada yang mengatakan kode C untuk Kernel Linux sangat bagus.
(Bukannya saya mengerti masalahnya! Ini mungkin proyek open-source C terbaik yang ditulis di sekitar.)
sumber
Saya menemukan kode sumber LLVM sangat mudah dibaca. Saya cukup yakin itu adalah C ++ terbersih yang pernah saya lihat. Jika Anda tidak terbiasa dengan itu, pada dasarnya ini adalah toolkit konstruksi penyusun.
Ini adalah proyek yang cukup besar, jadi jangan berharap untuk dapat dengan cepat memahami dengan tepat bagaimana semuanya bekerja. Tetapi seharusnya cukup mudah untuk mendapatkan gambaran tingkat tinggi.
sumber
Ini bukan proyek besar, tetapi ORM SubSonic sangat mudah bagi saya untuk meretas. Itu adalah proyek open source nyata pertama yang saya bisa modifikasi persis seperti yang saya butuhkan. Sebagian besar yang lain saya akhirnya melihat sumber dan membenturkan kepala saya ke dinding. Saya sudah mendukung sebagian PostgreSQL (mendasarkannya pada hal penyedia SQL Server) dalam beberapa jam. Ini adalah proyek yang paling terorganisir yang pernah saya lihat ... walaupun tidak berarti saya telah melihat banyak proyek sumber terbuka.
sumber
Pertama contoh sederhana: Kode untuk event handling system zope.event. Saya telah menggunakan sistem acara lainnya, yang mengirimkan acara ke pendengar acara yang berbeda. Ketika saya melihat kode zope.event itu adalah waktu facepalm, ketika saya menyadari betapa sederhananya beberapa hal.
Ini ditulis dengan Python, dan ini adalah kode keseluruhannya:
Untuk menambahkan pelanggan, Anda melakukan ini:
Contoh terbaik KISS yang pernah saya lihat.
Kemudian contoh yang lebih kompleks: Basis kode Mars sangat bagus dan mudah dibaca, meskipun menggunakan beberapa peretas Python yang pintar. Hal yang sama berlaku untuk sebagian besar kode Grok, yang dibangun menggunakan Mars.
sumber
Pertimbangkan membaca buku ini Arsitektur Aplikasi Sumber Terbuka . Ini harus memberi Anda kritik tentang mengapa dan bagaimana keputusan desain dibuat dalam proyek yang dibahas dalam buku ini.
Alih-alih mencari yang terbaik, yang dapat menghindari Anda lama, cobalah dan hargai desain beberapa proyek, mungkin di luar ruang lingkup buku ini. Itu bisa membantu Anda membangun keberhasilan proyek-proyek ini alih-alih mengulangi kesalahan mereka (atau, demikian populer disebut, menciptakan kembali roda).
sumber