Saya terus membuat komitmen untuk proyek sumber terbuka (Red Hat, dll.). Dan dia memperhatikan bahwa ulasan kode negatif, intinya subjektif, paling banyak menghabiskan waktu. Paling sering ini terjadi dengan komit, di mana pengelola karena alasan tertentu tidak menyukai perubahan Anda. Dalam kasus terbaik, strategi tinjauan kode seperti itu menghasilkan waktu yang terbuang dalam perdebatan yang tidak berarti; dalam kasus terburuk, ia secara aktif mencegah komitmen, menciptakan lingkungan yang bermusuhan dan elitis.
Tinjauan kode harus objektif, singkat dan, jika mungkin, hanya berisi fakta-fakta tertentu. Ini bukan debat politik atau emosional, tetapi debat teknis. Tujuannya adalah untuk bergerak maju, mengembangkan proyek dan semua peserta. Setiap komitmen harus dievaluasi hanya berdasarkan kemampuan, dan bukan pada pendapat subyektif.
Strategi Peninjauan Kode
Berikut adalah beberapa strategi yang perlu diingat ketika mempertimbangkan kode yang Anda (sebagai pengelola) karena beberapa alasan tidak suka:
1. Ucapkan ulang keberatan sebagai pertanyaan
- Buruk: “Perubahan ini akan membuat XXX tidak mungkin” (Ini berlebihan; apakah ini benar - benar mustahil?)
- Bagus: "Bagaimana kami akan melakukan XXX setelah perubahan Anda?"
2. Hindari berlebihan
Cukup ungkapkan kekhawatiran Anda dan ajukan pertanyaan untuk membantu mencapai hasil yang Anda inginkan.
- Buruk: "Perubahan ini akan merusak produktivitas."
- Bagus: “Tampaknya X mungkin lebih lambat dari Y yang ada; "Apakah Anda melakukan pengukuran / mengumpulkan data untuk menunjukkan bahwa ini tidak benar?"
- Lebih baik (jika Anda punya waktu): “Untuk saat ini, saya sedang mengumpulkan data. Saya akan mencoba memverifikasi bahwa X tidak lebih lambat dari Y. "
- Juga bagus: “Perubahan ini mengubah satu siklus O (n) menjadi siklus O bersarang ganda (n²); apakah itu akan memengaruhi kinerja? "
3. Tinggalkan komentar jahat untuk diri sendiri
Beberapa pemikiran sebaiknya disimpan bersama Anda. Jika Anda tidak bisa mengatakannya dengan sopan, lebih baik diam saja.
- Buruk: "Saya pikir ini adalah perubahan buruk yang akan menghancurkan segalanya."
- Buruk: "Apakah Anda yakin pengembangan perangkat lunak adalah pilihan karier yang tepat untuk Anda?"
4. Bertindak positif
Mungkin Anda punya ide berbeda tentang cara mengatasi masalah? Jika Anda bertindak positif, pada akhirnya Anda akan menemukan solusi yang lebih baik daripada opsi aslinya.
- Buruk: "Perubahan ini menyebalkan, versi saya lebih baik."
- Bagus: "Saya juga punya perubahan untuk tempat ini: mungkin kita bisa membandingkan dan / atau menggabungkan ide."
- Itu juga bagus. "Saya memiliki perubahan yang serupa dalam pekerjaan saya, tetapi saya memutuskan untuk membuat X, karena ZZZ; mengapa kamu memilih Y? "
5. Ingat bahwa setiap orang memiliki pengalaman yang berbeda.
Dalam semua hal lain, seorang insinyur yang benar-benar kompeten mungkin tidak tahu selama beberapa tahun beberapa fakta yang Anda anggap masuk akal. Tidak ada yang salah dengan mengatakan hal yang jelas, kecuali Anda menggurui atau jahat.
- Buruk: “Tidak bisakah Anda melihat bahwa ini jelas salah?”
- Bagus: "Ini tidak benar karena ia melempar pengecualian pointer nol ketika X adalah Y."
6. Jangan mengecilkan kompleksitas dari apa yang tidak jelas
Ingatlah bahwa hal-hal yang jelas bagi Anda mungkin tidak jelas bagi semua orang. Dengan menyarankan pendekatan alternatif dan menunjukkan contoh yang bermanfaat, Anda dapat membantu semua orang menyinkronkan.
- Buruk: "Mengapa tidak menghancurkan gnosis saja?"
- Bagus: "Jika Anda menghancurkan gnosis, maka bagian ini dapat menjadi lebih mudah (lihat XXX untuk contoh)."
7. Menghormati
Terkadang komit tidak memenuhi standar kualitas minimum. Adalah normal untuk mengatakan ini, tetapi menunjukkan rasa hormat tidak membutuhkan usaha tambahan.
- Buruk: "Ini kode bodoh yang ditulis oleh orang bodoh."
- Bagus: “Terima kasih atas masukan Anda. Namun, itu tidak dapat diadopsi sebagaimana adanya; ada banyak masalah (seperti yang ditunjukkan di atas). "
- Juga bagus: “Seperti yang dinyatakan di atas, ada beberapa masalah dengan komitmen ini. Mungkin mundur dan berbicara tentang skenario penggunaan? Ini akan membantu menemukan jalannya. "
8. Kelola harapan Anda (dan waktu Anda)
Jika komit terlalu besar dan tidak dapat dipertimbangkan dengan cepat, adalah normal untuk mengatakannya segera. Kemudian cari solusinya.
- Buruk: "Saya tidak menerimanya, itu terlalu besar."
- Juga buruk: abaikan komit sampai menghilang.
- Bagus: “Bisakah Anda membaginya menjadi komit yang lebih kecil? Saya tidak punya terlalu banyak waktu untuk meninjau kode, tetapi terlalu besar / rumit untuk satu ulasan. "
9. Katakan “tolong” (tunjukkan sopan santun)
Hanya dengan mengatakan "tolong", Anda menunjukkan bahwa Anda menghargai waktu pengirim, terutama ketika Anda ingin mengubah format atau gaya, yang mungkin tampak seperti sedikit perubahan. Contoh:
- "Bisakah Anda mendokumentasikan perubahan dalam celah dalam permintaan kumpulan lainnya?"
- "Bisakah Anda menyelaraskan definisi variabel ini agar lebih mudah dibaca?"
10. Mulai percakapan
Jika setelah semua ini Anda masih tidak menyukai sesuatu, tetapi Anda tidak yakin mengapa, Anda mungkin harus tahan dengan itu. Atau katakan, "Saya tidak suka, tapi saya tidak yakin mengapa, bisakah kita membicarakannya?" Ini adalah pertanyaan yang masuk akal, dan meskipun mungkin butuh sedikit waktu, itu sering sepadan karena sekarang Anda memiliki dua orang dan keduanya belajar (menjelaskan dan mendengarkan), dan bukan dua orang yang saling bertentangan.
Bahkan insinyur yang berkualifikasi dan berpengalaman harus dapat mengatakan, "Saya tidak mengerti mengapa saya tidak menyukainya." Ini bukan undangan untuk menyerang posisi pengulas, tetapi pencarian yang jujur untuk pengetahuan.
Ringkasan
Hindari pernyataan hiperbolik atau sombong, hindari perselisihan, ekspresi dan konstruksi elitis atau merendahkan seperti "jelas" dan "kenapa tidak Anda hanya ...". Gunakan pernyataan faktual dan bahasa pendukung yang jelas, ajukan pertanyaan, dan maju. Ingatlah bahwa kolega dan kontributor juga orang. Waktu mereka layak dihormati sama seperti waktu Anda.