Kesilapan yang Dilakukan oleh Pembangun Junior

Menghantar kod yang berfungsi adalah tahap asas. Ia bukan matlamat utama.

Saya pernah menyemak satu pull request yang mengambil masa 45 minit untuk difahami. Logiknya betul. Ujian (tests) lulus. Tetapi kod tersebut ditulis seolah-olah hanya penulisnya sahaja yang akan membacanya.

Apabila saya memberi maklum balas, pembangun itu berkata, "Tetapi ia berfungsi."

Mereka betul. Ia berfungsi. Itulah sebenarnya masalahnya.

Pembangun junior sering memberi tumpuan kepada kemahiran teknikal. Namun, jurang sebenar selalunya terletak pada tabiat dan corak pemikiran.

Berikut adalah kesilapan halus yang melambatkan anda:

  • Menulis untuk diri sendiri dan bukannya untuk orang lain Kod lebih kerap dibaca berbanding ditulis. Fungsi yang anda tulis hari ini mungkin akan disentuh oleh tiga orang yang berbeza dalam tempoh dua tahun. Jika orang asing tidak dapat memahami kod anda dalam masa 30 saat, anda telah gagal.

  • Menyalin kod tanpa memahaminya Menggunakan Stack Overflow tidak menjadi masalah. Namun, menyalin corak regex tanpa mengetahui cara ia berfungsi adalah berbahaya. Anda mencipta "kotak hitam" (black box) dalam pangkalan kod (codebase) anda. Anda tidak akan dapat menyahpepijat (debug) apabila ia rosak.

  • Menambah kerumitan yang tidak perlu Pembangun junior sering menyamakan kerumitan dengan kemahiran. Mereka menggunakan corak reka bentuk (design patterns) untuk tugasan yang mudah. Abstraksi yang tidak perlu menjadikan kod lebih sukar untuk dinyahpepijat dan lebih sukar untuk diubah. Hanya tambah abstraksi apabila anda merasakan kesukaran akibat ketiadaannya.

  • Mengabaikan mesej ralat Mesej ralat adalah dokumentasi percuma. Jangan terus melompat ke Google sebaik sahaja anda melihat stack trace. Baca keseluruhan mesej tersebut. Ia sering memberitahu anda dengan tepat baris mana yang gagal dan mengapa.

  • Meminta bantuan terlalu awal atau terlalu lewat Jangan habiskan masa tiga jam tersangkut pada masalah yang hanya mengambil masa 10 minit. Itu tidak cekap. Tetapi jangan pula menghubungi pembangun senior hanya dengan tangkapan skrin tanpa konteks. Gunakan peraturan 20 minit: luangkan masa 20 minit untuk cuba menyelesaikannya. Dokumentasikan apa yang telah anda cuba. Kemudian, minta bantuan bersama dokumentasi tersebut.

  • Membina semula apa yang sudah sedia ada Sebelum anda menulis utiliti baharu, cari dalam pangkalan kod. Pasukan anda berkemungkinan besar sudah pun menyelesaikan masalah tersebut.

  • Mesej komit yang lemah Mesej komit seperti "fix bug" tidak memberitahu apa-apa kepada pasukan anda. Jelaskan apa yang berubah dan mengapa. Anggap sejarah Git sebagai dokumentasi.

  • Menganggap keperluan sebagai undang-undang Keperluan sering kali terlepas pandang kes-kes hujung (edge cases). Jangan sekadar melaksanakan apa yang diberitahu. Tanya apa yang akan berlaku jika sesuatu tidak kena.

  • Berhenti pada butang "Merged" Tanggungjawab tidak berakhir apabila PR anda digabungkan (merged). Ikuti ciri (feature) anda sehingga ke QA. Pantau ia di persekitaran produksi (production). Baca laporan ralat.

Jurang terbesar adalah akauntabiliti. Pembangun senior bukan sekadar menulis kod. Mereka menyelesaikan masalah tanpa mencipta masalah baharu.

Berhenti mengoptimumkan untuk "siap". Mula mengoptimumkan untuk "baik".

Sumber: https://dev.to/jasda_cf511abd504d201e7bd/the-mistakes-junior-developers-keep-making-that-senior-devs-stopped-talking-about-2pe6