Ketika secara manual memeriksa kode yang tidak dikenal (untuk meninjau atau memodifikasi), saya sepertinya memiliki tiga opsi.
- Sebuah top-down membaca kode, memilih setiap berkas sumber berikutnya dengan cara yang mendasar nama file tampaknya. Saya biasanya membaca hampir semuanya. Beberapa file dua kali.
- Sebuah lebar-pertama membaca , di mana saya menemukan dan membaca semua metode memohon dengan pemahaman minimal. Kemudian baca semua fungsi yang dipanggil fungsi, dan seterusnya. Tumpukan mental saya cenderung meluap jika saya membuat beberapa panggilan mendalam.
- Sebuah membaca depth-first , di mana aku melangkah melalui semua kode di debugger, tidak yakin apakah ini akan mengambil 8 menit atau 8 jam.
Setelah saya cukup membaca kode untuk memiliki pemahaman yang cukup kuat tentang apa yang dilakukannya, saya sering mencerminkan bahwa saya telah membaca 80% atau lebih basis kode, sementara kode dasarnya adalah 20% atau kurang . Saya sudah membuang banyak waktu.
Alat apa yang berguna untuk memahami kode asing secara cepat? Apakah ada alat yang dapat memberikan "gambaran besar" dari jalur kode kritis dan memungkinkan saya untuk menelusuri rincian setiap bagian?