Saya selalu merasa bahwa salah satu keunggulan dari seorang pemimpin yang baik adalah seseorang yang memberikan pelatihan tambahan sesuai kebutuhan selama setiap siklus pengembangan. Bagi saya, itu berarti saya tidak hanya mengkodekan diri saya sendiri, atau meninjau kode, tetapi duduk dengan lebih banyak pengembang junior, memasangkan pemrograman dengan mereka untuk membantu mereka menghindari jenis ranjau darat yang telah saya injak.
Terutama, saya tidak punya ilusi bahwa tujuan utama kami adalah pendidikan - bukan. Apakah Anda seorang senior, pemimpin, atau pengembang junior, tujuannya bukanlah membangun Anda. Tujuannya selalu untuk memberikan kode berkualitas kepada pelanggan. Lebih disukai tepat waktu, sesuai anggaran, melakukan apa yang mereka inginkan. Saya mengakui, bagaimanapun, bahwa tidak mungkin bagi saya untuk menyelesaikan semua pekerjaan sendiri, jadi adalah tugas saya sebagai pemimpin untuk membantu semua orang membantu tim berhasil. Dan itu berarti mengenali peluang pelatihan ketika mereka muncul di alam.
Jadi, untuk pertanyaan Anda tentang apakah permintaan tarik adalah tempat untuk melatih junior, saya harus mengatakan bahwa itu tidak biasa untuk momen yang bisa diajar untuk muncul selama ini. Hei, Anda harus berurusan dengan konflik gabungan pertama, mari kita bahas setelah ditinjau. Oh, lihat, Anda tidak menyertakan unit test untuk DAO Anda, kami akan menunda ulasan Anda sampai setelah kami memiliki kesempatan untuk membahas metode baru tersebut. Mengapa menurut Anda akan lebih baik menggunakan primitif ganda dalam perhitungan keuangan ini daripada BigDecimal? Ya, itu tidak biasa.
Jadi, sementara saya akan mengatakan bahwa itu pasti bisa terjadi, tapi itu jelas bukan tujuan utama permintaan tarik. Saya juga tidak merasa ada harapan bahwa kode dalam permintaan tarik adalah produksi siap. Seringkali tidak.
Jika Anda menggunakan fitur dan melepaskan cabang dalam strategi percabangan gaya gitflow, maka permintaan tarikan Anda menjadi sesuatu yang lebih seperti kandidat rilis. Bukan produksi yang siap, tetapi sesuatu yang lebih mendekati itu. Anda tahu kompilasi kode Anda (kanan) dan Anda memiliki covfefe pengujian yang cukup untuk membuat klaim yang layak bahwa itu memenuhi tujuan dari kisah pengguna. Dan karena Anda sudah menjalankan beberapa tes integrasi di lingkungan pengembangan Anda, Anda memiliki demo hebat yang siap untuk digunakan jika Anda diminta untuk mendemonstrasikan perubahan Anda, yang akan Anda lakukan, selama peninjauan PR Anda.
Pada akhirnya, saya merasa bahwa kita harus memberikan bantuan selama peninjauan PR, tetapi bantuan itu tidak ada dalam kode umum. Sebaliknya, ini terkait dengan menyiapkan kode yang diusulkan untuk dimasukkan dengan basis kerja kode kualitas-produksi. PR adalah kesempatan bagi pengembang untuk menunjukkan bahwa mereka memiliki justifikasi untuk, dan pemahaman yang kuat tentang, setiap perubahan yang mereka sertakan dalam PR. Dan bahkan kemudian - bahkan setelah kita menimbangnya dengan unit test, dan demo, dan banyak pertanyaan - masih belum ada harapan bahwa perubahan yang diusulkan siap untuk diproduksi.
Tutup kode setelah semua itu. Tapi kemudian kami membiarkan QA menyiksanya.