Apa keuntungan menggunakan permintaan tarik daripada hanya menggabungkan cabang menjadi master tanpa satu? Terutama pada tim di mana semua pengembang memiliki akses penuh untuk menguasai.
16
Apa keuntungan menggunakan permintaan tarik daripada hanya menggabungkan cabang menjadi master tanpa satu? Terutama pada tim di mana semua pengembang memiliki akses penuh untuk menguasai.
Jawaban:
Permintaan tarik menyediakan cek dan saldo, bahkan jika ada yang bisa mendorong untuk menguasainya.
Keuntungan terbesar adalah mereka memberikan kesempatan untuk meninjau kode. Orang yang bertanggung jawab untuk melakukan tarikan dapat melihat kode dan tes dan memastikan bahwa mereka memenuhi segala jenis pedoman yang dimiliki organisasi atau tim. Ada juga alasan lain untuk tinjauan kode - pendidikan, menemukan cacat atau peningkatan, melatih tim secara silang pada sistem, memberi penguji pandangan kotak putih tentang sistem.
Jika orang yang melakukan tarikan sudah terbiasa dengan arsitektur sistem, maka mereka dapat memastikan bahwa perubahannya sesuai dengan visi arsitektur sistem, terutama jika seluruh tim mungkin tidak memiliki visi jangka panjang.
Mengembangkan kebiasaan menggunakan permintaan tarik juga dapat membantu tim Anda jika Anda memutuskan di masa depan bahwa seluruh tim tidak akan memiliki akses untuk menguasai. Jika tim Anda tumbuh lebih besar, dan terutama jika Anda memiliki anggota tim yang baru dalam produk dan / atau baru di Git, tidak memberi mereka akses untuk menguasai dapat lebih aman bagi integritas produk.
sumber
Setelah melakukan pencabangan fitur dan fork + permintaan tarik, saya pikir bahwa permintaan tarik menawarkan sedikit keuntungan ketika Anda semua berkembang di tim atau perusahaan yang sama
Mereka memang menawarkan mekanisme dan antarmuka yang baik untuk meninjau kode, tetapi juga menyulitkan dan memperlambat seluruh proses 'menyelesaikan barang'. Terutama jika Anda memiliki banyak fitur kecil, masing-masing menunggu peninjauan, penggabungan dan kemudian semua yang lain digabungkan dengan master lagi untuk menarik perubahan dll. Jika Anda memiliki fitur besar, maka ini menjadi sulit untuk ditinjau, sehingga Anda terjebak dalam ikatan .
Setelah mengatakan bahwa Anda dapat melakukan tarik permintaan antar cabang pada repo yang sama. Anda tidak perlu membayar, atau memiliki izin yang berbeda.
Selain itu Anda harus mempertimbangkan seluruh metodologi dan alur kerja Anda. Apakah Anda juga memiliki sistem tiket, CI, tes penerimaan otomatis dll? Apakah ulasan kode Anda memberikan pemeriksaan tunggal yang vital sebelum kode ditayangkan, atau apakah itu hanya latihan stempel yang dibuat berlebihan oleh cek lain dalam alur kerja Anda?
sumber
Ada sebuah pengamatan yang disebut Hukum Conway yang menyatakan:
Apa hubungannya ini dengan permintaan tarik? Permintaan tarik adalah saluran komunikasi utama di persimpangan kritis untuk kode Anda. Mereka memberikan kesempatan untuk ditinjau, pengujian otomatis, dan peningkatan sebelum kode beralih ke tahap pengujian dan produksi berikutnya, di mana perubahan itu jauh lebih sulit untuk mundur, dan membuang lebih banyak waktu lebih banyak orang.
Demikian juga, Hukum Conway menyarankan jika Anda ingin memiliki arsitektur layanan mikro dengan area tanggung jawab otonom yang terpisah dengan baik, dan antarmuka yang jelas, maka saluran komunikasi organisasi Anda harus mencerminkan arsitektur yang ingin Anda capai. Itu berarti tim kecil yang terdiri dari 5-10 orang harus memiliki akses komit langsung ke setiap layanan mikro yang diberikan, dan siapa pun di luar tim itu harus diminta untuk melakukan permintaan tarik. Ini memastikan orang-orang yang paling akrab dengan layanan mikro adalah orang-orang yang mengulas dan memberi nasihat tentang hal itu.
Ketika Anda memiliki organisasi besar dengan semua orang memiliki akses komit langsung ke mana-mana, saluran komunikasi Anda yang paling tidak resistan mengatur Anda untuk menghasilkan bola besar arsitektur lumpur.
Permintaan tarik hanya terasa seperti beban jika Anda tidak menukar apa pun sebagai balasannya. Saya telah bekerja di lingkungan di mana saya tidak dapat menyelesaikan apa pun selama seminggu karena bangunan selalu rusak, dan saya telah bekerja di lingkungan di mana seseorang mengajukan permintaan tarik dan saya bahkan tidak perlu memeriksanya karena mereka rusak CI membangun, dan saya katakan, mereka layak setiap detik usaha.
sumber
Karl Bielefeldt benar sekali. Saya akan menambahkan: ini semua tentang kualitas.
Banyak (kebanyakan?) Toko tidak memiliki proses formal di tempat untuk mengatur pembangunan, yang menghasilkan: "Saya telah bekerja di lingkungan di mana saya tidak bisa menyelesaikan apa pun selama seminggu karena bangunan selalu rusak, dan saya telah bekerja dalam lingkungan di mana seseorang mengajukan permintaan tarikan dan saya bahkan tidak perlu memeriksanya karena mereka melanggar CI, dan saya katakan, mereka layak setiap detik upaya. "
Ini benar-benar sepadan dengan usaha.
sumber
Kami menggunakan permintaan tarikan untuk peninjauan kode - tidak ada kode yang harus digabungkan ke cabang pengembangan utama (biasanya "berkembang" dalam kasus kami, tapi terkadang "master") tanpa melalui permintaan tarik. Kami tidak sulit menegakkan ini dengan kontrol repositori, tetapi itu karena kami tidak harus - pengembang kami cukup dewasa untuk tidak menyalahgunakan proses.
sumber