Saya bekerja di startup robotika di tim cakupan jalur dan setelah mengirimkan permintaan tarik, kode saya ditinjau.
Rekan satu tim saya, yang telah berada di tim selama lebih dari setahun, telah membuat beberapa komentar pada kode saya yang menyarankan saya melakukan lebih banyak pekerjaan daripada yang saya yakini perlu. Tidak, saya bukan pengembang yang malas. Saya suka kode elegan yang memiliki komentar baik, nama variabel, lekukan dan menangani kasus dengan benar. Namun, ia memiliki tipe organisasi yang berbeda dalam pikiran yang tidak saya setujui.
Saya akan memberikan contoh:
Saya telah menghabiskan satu hari menulis kasus uji untuk perubahan ke algoritma pencarian transisi yang saya buat. Dia telah menyarankan agar saya menangani kasus yang tidak jelas yang sangat tidak mungkin terjadi - bahkan saya tidak yakin itu mungkin terjadi. Kode yang saya buat sudah berfungsi di semua kasus uji asli kami dan beberapa yang baru yang saya temukan. Kode yang saya buat sudah melewati 300+ simulasi kami yang dijalankan setiap malam. Namun, untuk menangani kasus yang tidak jelas ini akan membutuhkan waktu 13 jam yang bisa lebih baik dihabiskan untuk mencoba meningkatkan kinerja robot. Agar jelas, algoritme sebelumnya yang telah kami gunakan sampai sekarang juga tidak menangani kasus tidak jelas ini dan tidak sekali pun, dalam laporan 40k yang telah dihasilkan, pernahkah hal itu terjadi. Kami adalah startup dan perlu mengembangkan produk.
Saya belum pernah melakukan review kode sebelumnya dan saya tidak yakin apakah saya terlalu argumentatif; haruskah aku diam saja dan melakukan apa yang dia katakan? Saya memutuskan untuk tetap menunduk dan melakukan perubahan meskipun saya sangat tidak setuju bahwa itu adalah penggunaan waktu yang baik.
Saya menghormati rekan kerja saya dan saya mengakuinya sebagai programmer yang cerdas. Saya hanya tidak setuju dengan dia tentang suatu hal dan tidak tahu bagaimana menangani perbedaan pendapat dalam ulasan kode.
Saya merasa bahwa jawaban yang saya pilih memenuhi kriteria untuk menjelaskan bagaimana pengembang junior dapat menangani ketidaksepakatan dalam ulasan kode.