Saya telah mendengar beberapa orang mengatakan bahwa salah satu cara terbaik untuk meningkatkan kemampuan pengkodean Anda adalah dengan membaca kode orang lain dan memahaminya. Pertanyaan saya, sebagai programmer yang relatif baru, di mana saya pergi untuk menemukan contoh kode sumber yang baik yang tidak terlalu jauh di atas kepala saya?
learning
source-code
Jesse McCulloch
sumber
sumber
Jawaban:
Anda dapat menelusuri proyek sumber terbuka di situs repositori seperti GitHub , Codeplex , Google Code , atau BitBucket . Anda akan menemukan proyek dengan tingkat kompleksitas yang berbeda, jadi Anda harus dapat menemukan sesuatu yang menarik minat Anda dan tidak terlalu berlebihan pada awalnya.
Pilihan lain adalah posting blog Kode Sumber Mingguan Scott Hanselman .
Saya sarankan memulai dengan proyek aktif yang sudah mapan untuk menurunkan peluang mulai membaca kode yang belum melalui penggunaan dan pengawasan. Idealnya, temukan sesuatu yang menarik minat Anda dan yang dapat Anda gunakan. Menggunakan aplikasi akan membantu Anda memahami kode sumber. Manfaat lain dari memilih proyek open source adalah Anda mungkin dapat berkontribusi beberapa perbaikan atau fitur, yang akan membantu membuat membaca kode lebih menarik.
Menatap sekelompok kode orang lain bisa jadi menakutkan, jadi mulailah dengan
main
fungsi (atau yang setara) dan selesaikanlah dari sana.sumber
Sangat sedikit orang menulis kode sumber yang baik pada percobaan pertama mereka. Kode sumber yang baik sering dihasilkan oleh serangkaian revisi. Jadi, jika Anda dapat menemukan kode sumber yang telah ditinjau oleh rekan beberapa kali, dan diperbaiki beberapa kali, Anda mungkin berada di lokasi yang lebih baik. Beberapa proyek sumber terbuka (dan sebagian dari mereka) ditinjau dengan sangat baik. Kode yang berasal dari perusahaan yang memiliki siklus peninjauan wajib (misalnya, Google tetapi ada banyak lainnya) mungkin sesuai dengan tagihan.
Yang sedang berkata, saya tidak yakin tujuan Anda harus menemukan "kode hebat". Seharusnya melihat gaya kode yang berbeda (seperti yang ditulis oleh rekan kerja Anda), dan belajar mengidentifikasi poin baik dan buruk tentang hal itu. Semakin banyak poin buruk yang Anda identifikasi, semakin Anda akan berusaha untuk membuat kode Anda lebih baik dan tahu caranya.
Secara khusus, saya percaya bahwa pendekatan yang sangat baik untuk mendapatkan rasa kode yang baik adalah dengan menggunakan debugger interaktif untuk melacak melalui kode yang kompleks, mengikuti rantai doa. Misalnya, buka salah satu file utama perusahaan Anda, letakkan breakpoint, dan mulailah mencari tahu dari mereka.
Setelah beberapa kali Anda mengalami disorientasi oleh fungsi 100-line dengan sepuluh tingkat lekukan dan ketergantungan pada global, dan beberapa kali Anda menelusuri kode terurai dengan baik, Anda akan meningkatkan pemrograman Anda sendiri.
sumber
Alih-alih menemukan kode-kode hebat, Cari Buku Pemrograman Umum.
mis. Kode Lengkap, Menulis kode padat, Pola Desain (Saya yakin ada banyak buku lain di sekitar dalam pertanyaan dan jawaban lain di situs ini)
Buku-buku itu menggambarkan filosofi apa yang dianggap sebagai kode yang baik. Keterbacaan, kinerja, pemeliharaan, deteksi bug, dll.
Yang melayani sumber daya yang lebih baik dan lebih efisien daripada mencoba mencari tahu apa yang penulis coba capai.
Ps Desain Software yang bagus adalah apa yang harus Anda perhatikan juga. Yang akan sulit dikenali hanya dari mengamati kode, mengingat proyek ini cukup besar.
sumber
Saya menemukan bahwa kode perpustakaan yang datang dengan bahasa pemrograman pilihan Anda sering merupakan awal yang baik untuk melihat apa yang dianggap praktik terbaik dan gaya pengkodean yang baik.
Meskipun Anda tidak ingin memulai dengan tempat-tempat seperti algoritma pengurutan atau kelas wadah kompleks.
Tempat lain untuk wawasan menarik dalam penulisan kode adalah Project Euler ( http://projecteuler.net/ ). Kerugian ringan di sana: Anda harus menyelesaikan masalah terlebih dahulu untuk mendapatkan akses ke forum tempat orang lain memposting solusi mereka (tantangan menarik untuk semua tingkat pengalaman). Tetapi setelah selesai Anda akan menemukan contoh untuk hampir semua bahasa pemrograman utama. Dan karena Anda sudah menyelesaikan masalah, itu akan membantu Anda memahami kode orang lain. Selain itu, Anda bisa melihat kode bahasa yang belum Anda ketahui, tetapi mungkin menarik.
sumber
Saya sangat menikmati membaca Kode Indah . Ini memiliki contoh kode pendek, tapi sangat bagus dengan penjelasan rinci.
sumber