Saya mengerti menggunakan bookmark untuk mengingat satu titik dalam kode Anda. Namun, bagaimana cara melacak aliran kode yang mereka selidiki? Misalnya: banyak bookmark dan urutan pembuatannya.
Contoh:
Laporan bug: "Tabrakan tidak berfungsi di sudut dinding"
- Reproduksi bug meletakkannya ke poligon tertentu yang tidak bertabrakan.
- Kode tumbukan ditulis oleh dev yang tidak tersedia. Jadi penyelidikan berlangsung seperti:
Selama penyelidikan, terutama ketika meninjau item non-kode seperti Google, orang mungkin diharapkan kehilangan tempat mereka dalam kode ( Apakah saya sudah melihat jalur kode ini? Atau Jalur kode mana yang saya selidiki? Ada banyak yang mengarah untuk fungsi ini , dll). Hal yang sama berlaku untuk gangguan yang tidak terhindarkan (Boss: Saya perlu [Laporan Berujung Panjang] SEKARANG , dll)
Akan bermanfaat untuk memiliki sumber daya teknik atau alat untuk menyediakan cara untuk melacak tempat seseorang dalam kode.
Sunting : Contoh di atas dimaksudkan sebagai ilustrasi potensial, bukan sebagai masalah aktual yang perlu dijawab.
Cara lain untuk mengungkapkan pertanyaan ini adalah:
Saat mempelajari sistem baru, bagaimana Anda melacak di mana Anda sampai dalam mempelajari kode? Ini bukan tentang memahami mengapa kode melakukan apa yang dilakukannya (yang merupakan komentar untuk apa), tetapi bagaimana melakukannya (yang hanya dipelajari melalui membaca kode, bukan komentar).
sumber
Selain dari semua teknologi hebat yang disebutkan, saya menemukan bahwa kertas A3 kuno sangat membantu dalam masalah ini. Tulis ide-ide Anda dan aturlah dengan gaya mindmap.
sumber
Baik editor dan debugger saya dapat melompat ke definisi fungsi dan memiliki tombol "kembali" bertingkat seperti browser web untuk kembali ke tempat saya sebelumnya. Itu biasanya cukup bagi saya untuk melacak aliran debugging yang kompleks. Ini juga membantu untuk memiliki kontrol sumber yang memungkinkan Anda melakukan banyak hal . Itu memberi saya pesan komit menjelaskan mengapa saya mencoba sesuatu, serta cara cepat untuk mendukung perubahan jika tidak berhasil. Selain itu, papan tulis sederhana untuk daftar calon pelanggan yang potensial dan yang sudah ditelusuri mengisi celah yang tersisa untuk saya.
sumber
Berbagai cara yang saya ikuti:
sumber
Saya menggunakan solusi sederhana - tidak pernah menutup apa pun sampai saya selesai dengan tugas. Itu berarti bahwa biasanya salah satu dari 50 atau lebih jendela yang terbuka / tab memiliki sesuatu di dalamnya yang akan mengingatkan saya apa yang saya pikirkan ketika saya kembali ke sana.
sumber
Dapatkan alat pengembang nyata / IDE, apa pun yang membuat Anda suka. Vi, Emacs, Eclipse atau apa pun (Pilihannya sama besar dengan argumen mana yang terbaik, tapi itu masalah lain), dan belajar menggunakannya dengan benar . jangan, seperti terlalu banyak, gunakan seperti Notepad dengan sintaks highlighing. Pelajari cara menggunakan hotkey, dan jangan mengandalkan mouse untuk tindakan umum (Terlalu lambat). Layar besar (minimum 1920x1200) bermanfaat.
Alat dev saya telah menamai (Lebih lambat tapi nama yang berguna membuatnya tahan) dan tidak dinamai (Cepat untuk menyisipkan dan menghapus) bookmark, penelusuran maju dan mundur dan mencari referensi semuanya dalam satu, catatan todo dan catatan pengembang (pribadi dan grup) yang dilampirkan pada baris kode sumber tertentu. Itu setiap bahasa di bawah matahari, tanpa harus menginstal plugin lain.
Saya bekerja pada basis kode yang terdiri dari selusin atau lebih 1 Juta ditambah modul SLOC, menggunakan setengah lusin bahasa. Jelas saya tidak mengerjakan semuanya pada satu waktu, lebih fokus pada bagian kecil dari satu atau dua, tetapi saya dapat menavigasi dengan beberapa tindakan ke titik mana pun dalam kode yang relevan dengan apa yang saya lakukan.
sumber
Dengan Visual Studio, dalam sesi debug, Anda dapat menggunakan jendela 'Call Stack' (Anda dapat mengaktifkannya
Debug / Windows / Call Stack
atau dengan cara pintasCtrl+Alt+c
) untuk melacak aliran kode.sumber
Saya terkejut tidak ada yang menyebutkan banyak alat yang dapat membuat plot grafik panggilan. Saya menemukan doxygen sangat membantu. Anda bahkan tidak harus berkomitmen untuk menggunakan doxygen di seluruh program Anda, Anda bisa menandai fungsi yang Anda minati.
sumber
Saya menggunakan mode org untuk emacs, yang merupakan alat uber-outlining. Dengan itu, saya bisa menulis garis besar yang meniru tumpukan panggilan kode dan menyertakan tautan langsung ke kode sumber itu sendiri (melalui org-store-link). Anda dapat menyertakan teks penjelas, tautan ke halaman web, dll. (Mis. Saat Anda mencari nomor ajaib di Google)
Itu tidak sempurna. Misalnya struktur outline tidak memiliki gagasan untuk naik kembali ke level, jadi sulit untuk melacak jalur eksekusi, yang bertentangan dengan hanya tumpukan. Tapi itu hal terbaik berikutnya untuk diagram di atas kertas yang saya temukan.
sumber