Baca Kode Sumber Sialan ---- RTFM
Di depan kode sumber, tidak ada rahasia ---- Hou Jie
Proyek ini terutama mengatur/mencatat pemahaman dan pengalaman saat membaca kode sumber JDK
, untuk referensi saja.
Proyek ini berisi banyak cabang. Cabang utama diberi nama master
, cabang test diberi nama test
, dan cabang kode sumber/catatan diberi nama JDK-X
( X adalah versi JDK ).
Cabang master
kadang-kadang mengkompilasi cuplikan catatan kode sumber dan kode pengujian.
Cabang JDK-X
menyimpan kode sumber dan catatan JDK
. Catatan yang dihasilkan selama proses membaca ditulis langsung ke file kode sumber dalam bentuk komentar .
Cabang test
menyimpan kode pengujian untuk membantu pemahaman dan dapat dijalankan secara langsung.
OracleJDK
/ OpenJDK
11 Siap digunakan langsung dari kotaknya. Kloning/unduh proyek secara lokal dan buka dengan IntelliJ IDEA
.
Silakan beralih ke cabang JDK-X
saat membaca kode sumber, dan tidak perlu mengaitkan JDK
.
Saat menguji kode sumber, silakan beralih ke cabang test
. Saat ini, Anda perlu mengaitkan OracleJDK
/ OpenJDK
.
Kode sumber ini tidak mendukung kompilasi langsung. Jika Anda ingin mengkompilasi seluruh proyek JDK
secara lengkap, silakan merujuk ke tutorial resmi Membangun JDK.
Jika kode sumber melaporkan kesalahan karena hilangnya file ketergantungan individual, silakan cari paket jar yang relevan di Google dan impor. Atau Anda dapat memberikan masukan tentang Masalah Github.
Selamat bertukar ide, saran, dan opini bagus tentang Masalah Github.
nomor seri | emoji | Apa artinya dalam proyek ini | tanda singkatan |
---|---|---|---|
(0) | ? | Inisialisasi proyek | :tada: |
(1) | Perbarui dokumentasi, termasuk namun tidak terbatas pada README | :memo: | |
(2) | Publikasikan catatan bacaan baru (Catatan 1) | :bulb: | |
(3) | Pembaruan tambahan dari catatan bacaan | :sparkles: | |
(4) | ♻️ | Refactoring terutama mengacu pada memodifikasi catatan bacaan yang ada. Dalam kasus yang jarang terjadi, kode sumber akan dimodifikasi (Catatan 2) | :recycle: |
(5) | ✏️ | Proofreading terutama mengacu pada memperbaiki kesalahan ketik, menyesuaikan pengelompokan kode sumber, memodifikasi pengaturan huruf kode sumber, dll. | :pencil2: |
(6) | ✅ | Publikasikan file pengujian | :white_check_mark: |
Catatan 1:
Untuk kemajuan pembacaan kode sumber tertentu saat ini, silakan merujuk ke Daftar Baca Kode_Urutkan berdasarkan Fungsi.
Catatan 2: Skenario yang melibatkan modifikasi kode sumber termasuk namun tidak terbatas pada:
Ubah nama variabel yang tidak berarti menjadi nama variabel yang lebih mudah dipahami;
Penyelesaian kurung kurawal pada cakupan pernyataan kontrol;
Rekonstruksi struktur pernyataan kontrol (seperti pemisahan pernyataan if dan pertukaran for/sementara);
Konversi antara for loop dan foreach loop;
Pisahkan rantai panggilan yang terlalu panjang dan sulit dibaca, dan isolasi proses perantara;
Ekstrak operasi yang sering terjadi ke dalam satu metode;
Membagi beberapa kelas tingkat atas dalam satu file menjadi file berbeda (kelas internal tidak dipecah);
Konversi antara kelas anonim dan kelas non-anonim;
Konversi kelas anonim dan ekspresi fungsi;
Konversi antara panggilan fungsional dan panggilan biasa;Prinsip modifikasinya adalah: memodifikasi sesedikit mungkin tanpa mengubah logika kode asli dan hasil yang berjalan (kode yang melibatkan multi-threading agak membingungkan)
Tujuan modifikasi adalah untuk meningkatkan keterbacaan dan memfasilitasi penyisipan catatan
Oracle JDK
BukaJDK
Sumber referensi emoji
di informasi Komit:
Daftar Emoji Lengkap
gitmoji