Seorang programmer melakukan beberapa pekerjaan ke repositori SVN, lalu pulang. Setelah dia pergi, bangunan otomatis Hudson gagal. Programmer lain melihat ini, dan setelah melihat melalui perubahan kode, mendeteksi bahwa masalahnya adalah tidak adanya satu perpustakaan. Dia menambahkan perpustakaan ini ke SVN dan bangunan berikutnya selesai dengan sukses.
Apakah programmer kedua melakukan hal yang benar atau haruskah dia menunggu sampai programmer pertama menyelesaikan masalah?
Jawaban:
Tergantung sampai batas tertentu pada bagaimana tim Anda biasanya bekerja, tetapi saya akan mengatakan itu baik-baik saja. Menjaga pembangunan tetap menghemat waktu orang lain.
Adalah sopan bagi programmer kedua untuk mengirim email pertama untuk menjelaskan apa yang telah ia lakukan, untuk berjaga-jaga jika versi perpustakaan tertentu diperlukan atau ada beberapa komplikasi lain. Ini juga cara yang sedikit lebih halus untuk menunjukkan bahwa mereka telah merusak bangunan.
sumber
Tergantung.
Apakah bug itu begitu jelas sehingga menambahkan perpustakaan adalah cara untuk memperbaikinya? Terkadang perbaikannya adalah menemukan solusi untuk tidak membutuhkan perpustakaan itu.
Apakah proyek dalam fase di mana semua perubahan harus dikaitkan dengan tiket yang ada? Jika demikian, apakah Anda mengajukan tiket? Apakah tiket itu sudah ditugaskan untuk Anda?
Bagaimanapun, fokuslah untuk memperbaiki bug, bukan menyalahkan yang bertanggung jawab.
sumber
Ya tidak apa-apa Namun, tidak profesional bagi programmer asli untuk pulang sebelum menguji apakah build akan dikompilasi.
Reputasi Anda 100% dalam kendali Anda. Hal-hal seperti ini merusak reputasi Anda dan berusaha memoles reputasi yang ternoda sangat sulit.
sumber
Menyampaikan
Tidak ada aturan ketat (di samping aturan tim Anda sendiri) untuk skenario itu.
Dev2 harus bisa memberi tahu dev1 bahwa ia dapat memperbaiki kesalahannya, tak satu pun dari mereka harus takut akan sesuatu yang dihasilkan dari pertukaran ini, mereka adalah bagian dari tim.
sumber
Kenapa tidak? Jika produk Anda lebih penting daripada memperbaiki kesalahan, tentu saja tidak apa-apa. Meskipun build gagal karena perubahan pustaka cukup timpang dan Anda perlu menegur pengembang karena tidak mengujinya.
sumber
Kegagalan pembangunan terjadi. Jika penting bahwa build harian terjadi, maka saya akan memperbaikinya dan kemudian meminta pengembang yang memeriksa kode yang rusak untuk meninjau perbaikan pada hari berikutnya dan memastikan bahwa kode sekarang sebagaimana mestinya.
Seperti yang telah dikatakan, orang yang memperbaikinya mungkin harus mengirim email kepada orang yang memecahkannya dan merinci perbaikannya.
sumber
Moto saya, jangan berkomitmen untuk SVN setelah jam 3 sore dengan cara itu Anda selalu dapat memperbaiki kegagalan build Anda sendiri.
Jika Anda tidak memperbaiki kegagalan build-nya, maka build orang lain juga akan gagal. Saya akan memperbaikinya untuk menghemat waktu dalam jangka panjang, tetapi pastikan mereka sadar bahwa Anda harus memperbaikinya.
Memiliki semacam skrip 'tunjuk jari menyalahkan' adalah cara yang baik untuk melakukan ini, atau membuat orang yang melanggar donat beli membangun !!
sumber
Seseorang harus memperbaikinya dan programmer pertama seharusnya tidak pulang tanpa terlebih dahulu memastikan bahwa ia tidak merusak build. Namun, untuk masalah yang mudah diperbaiki, memanggilnya kembali untuk memperbaikinya sendiri akan menjadi ekstrem.
Saya setuju dengan saran Luke Graham untuk mengirim email penjelasan, meskipun saya akan mengatakan itu lebih sopan - itu komunikasi dasar.
sumber
Ya ya ya! Ini memupuk kepemilikan kode kolektif dan menetapkan semacam tekanan rekan sejawat dalam tim untuk menjaga standar tinggi dan tidak membiarkan skenario jendela pecah berkembang. Sedikit komunikasi untuk memberi tahu pengembang lain adalah ide yang bagus.
sumber
Saya pikir tidak apa-apa untuk memperbaiki hal-hal yang jelas - yaitu, jika Anda 100% yakin orang yang kodenya Anda perbaiki akan membuat yang sama - atau secara substansial sama - perbaiki. Jika perbaikannya lebih rumit, biasanya sopan untuk berbicara dengan orang yang kodenya Anda perbaiki - mungkin Anda salah paham tentang maksud atau alasan kerusakan bukan seperti yang Anda pikirkan, atau mungkin ia bermaksud memperbaiki lain tetapi untuk beberapa alasan belum bisa melakukan itu dulu (kehidupan terjadi, Anda tahu :).
Secara umum, aturan biasanya adalah: Anda melanggar build - Anda memperbaiki build, tetapi ada pengecualian, terutama jika perbaikannya jelas dan / atau orang yang bertanggung jawab tidak dapat dijangkau.
Tentu saja, jika Anda memiliki kasus serial build breaker - terutama dengan pola "check in, pulang, build rusak selama berhari-hari" - orang yang bertanggung jawab perlu berbicara tentang mengapa sistem CI dan tes ada dan bagaimana seseorang harus periksa sebelum check-in :)
sumber
Sesuatu terjadi. Kegagalan untuk menambahkan file kode baru (apakah sumber atau dikompilasi) ke Subversion mungkin merupakan penyebab paling umum dari bangunan yang rusak, dengan asumsi itu berfungsi pada komputer pengembang. Pada pekerjaan terakhir saya dengan lingkungan CI, bahkan orang paling senior pun terkadang lupa.
Saya pikir, jika orang lain bisa memperbaiki bangunan dan dengan demikian menjaga tim bersenandung, itu baik-baik saja. Saya pikir programmer yang pulang paling tidak memerlukan email yang menyatakan apa yang terjadi, dan untuk mengingatkannya untuk memastikan bahwa kode baru ditambahkan sebelum melakukan. Jika itu sering terjadi, mungkin membuat pelanggaran kecil itu dapat dihukum oleh "tarian rasa malu", untuk membantu mengurangi kejadian (dan meringankan suasana hati).
sumber
Itu tergantung pada dinamika Tim, tetapi dalam dunia yang ideal setiap orang di Tim akan "memiliki" seluruh proyek, semua kode, dan akibatnya, semua bug secara bersama-sama. Jadi, jika Anda menemukan masalah Anda memperbaikinya, dan berkomunikasi dengan pencetus bug hanya jika ada nilai tambah khusus untuk kode dalam melakukannya.
sumber
Tidak apa-apa untuk memperbaikinya kecuali ini adalah kejadian biasa di mana saya ingin bos memanggilnya dan membuatnya kembali dan memperbaikinya sendiri.
sumber
Itu tergantung, itu tergantung ...
Sebagai programmer, pekerjaan kami adalah membuat semuanya berfungsi, bukan menghakimi orang. Jadi saya akan mengatakan bahwa hal terbaik yang dapat Anda lakukan adalah memperbaikinya, atau jika tidak jelas, putar kembali perubahannya dan beri tahu programmer pertama agar ia dapat memperbaikinya nanti.
Ngomong-ngomong, memiliki cowok terbaru yang memecahkan bangunan untuk mengenakan topi aneh sudah cukup untuk lebih memperhatikan waktu berikutnya ^ _ ^
sumber
Di beberapa lingkungan, ini sangat kasar, dan untuk alasan yang baik. Di lingkungan lain, itu diharapkan, dan untuk alasan yang baik.
Masih di lingkungan lain, itu sangat kasar atau diharapkan untuk alasan yang sangat buruk.
Ini sangat tergantung pada seberapa kritis bangunan rusak versus seberapa kritis bangunan benar yang diverifikasi. Dan sampai batas tertentu, itu tergantung pada seberapa jelas perbaikannya adalah perbaikan yang tepat dan satu-satunya yang dibutuhkan.
sumber
Pertama, 'pulang ke rumah' adalah anakronisme. Programmer tidak pulang lagi - mereka hanya online atau offline. Anda bisa melakukan ping dan menunggu.
Lebih serius lagi, sebenarnya ada dua bagian dari pertanyaan itu. 'melihat melalui perubahan kode' baik-baik saja; istirahat mungkin bukan hal yang benar untuk dilakukan. Bagaimana jika penilaiannya terhadap perpustakaan yang hilang salah?
sumber