Di perusahaan saya kebanyakan arsitek melakukan review kode. Dia adalah orang yang sangat berpengalaman dan perangkat lunak yang cerdas, jadi dia sangat pandai dalam hal itu. Ketika pengembang melakukan review kode mereka tidak melakukannya setengah juga. Kami mencoba memberi pengembang untuk melakukan lebih banyak ulasan kode, tetapi kualitas ulasan kode itu tidak bagus. Kami menggunakan Scrum sebagai metodologi pengembangan.
Namun dengan sistem saat ini ada dua masalah:
Arsitek menjadi hambatan
Pengembang tidak bertanggung jawab atas kualitas kode dan arsitektur (yang mengarah ke semua jenis masalah).
Bagaimana kita bisa mengatasi masalah ini? Haruskah kita mengubah siapa yang ditinjau kode?
code-reviews
Eugene
sumber
sumber
Jawaban:
Pengembang harus melakukan tinjauan kode. Mereka harus melakukan tinjauan kode, karena mereka harus mengetahui kode, standar gaya perusahaan dan praktiknya. Dengan meminta orang lain melakukan tinjauan kode, Anda memberi tahu pengembang Anda bahwa bukan tanggung jawab mereka untuk memastikan kode tersebut memenuhi standar perusahaan.
Jika Anda merasa mereka perlu pelatihan untuk melakukan tinjauan kode, dapatkan untuk mereka. Mengingat situasi Anda saat ini, Anda dapat meminta dev melakukan review kode, dan kemudian meminta komentar dari arsitek Anda - mintalah dev mengirimkan review ke arsitek untuk disetujui sebelum mengirimkannya ke submitter.
sumber
Dalam situasi ini, yang Anda butuhkan adalah pengetahuan pengembang yang berpengalaman ini untuk membantu anggota tim lainnya tumbuh. Kualitas tim tidak ditentukan oleh keterampilan pengembang terbaik; itu ditentukan oleh keterampilan yang terburuk. Anda dapat mencoba hal-hal seperti:
Ulasan kolaboratif. Ini bekerja sangat bagus di tim terakhir saya. Kami menempatkan seluruh tim di sebuah ruangan dengan proyektor dan mulai meninjau beberapa item. Mungkin pada awalnya arsitek adalah orang yang memandu tinjauan, tetapi dalam beberapa minggu (kami memesan satu atau dua jam setiap hari Jumat) seluruh tim mulai berbicara dan memahami konsep-konsep kunci yang saat ini hanya diketahui oleh arsitek.
Memasangkan pemrograman. Bagi saya ini adalah alat terbaik untuk menyebarkan pengetahuan dalam tim.
sumber
Sementara saya dapat melihat titik di mana arsitek sistem / perangkat lunak menandatangani semua perubahan / komitmen, pengembang perangkat lunak harus dapat melakukan tinjauan tanpa melibatkan arsitek - kecuali untuk arbitrasi.
Prosedur tinjauan [*] yang saya sukai adalah:
Jadi jawaban singkat saya untuk pertanyaan Anda adalah: Pengembang harus melakukan perubahan ulasan.
[*] Sayangnya ini tidak selalu bagaimana proyek yang saya ikuti beroperasi.
sumber
Saya suka praktik ulasan kode tim sesekali yang mencakup seluruh tim arsitek, tetapi kemudian banyak dan banyak dan banyak ulasan kode antara dua atau tiga anggota tim.
Jika itu kode yang benar-benar rumit atau sensitif, maka mintalah arsitek atau anggota senior tim.
Jujur saja, kedengarannya agak konyol memiliki arsitek yang melakukan review kode. Dia harus melakukan tinjauan desain, atau tinjauan kode sesekali secara informal untuk berbagi keahliannya. Tim teknik harus bertanggung jawab atas kode tersebut. Jika ada masalah, maka mereka akan menjadi lebih baik seiring waktu.
sumber
Saya setuju, jika hanya satu orang yang memberikan ulasan, orang-orang yang lain mungkin hanya akan pergi dengan "Saya tidak tahu, sepertinya berhasil, tapi biarkan orang pintar itu mencari tahu apakah itu boleh atau tidak". Saya dapat memikirkan hal-hal berikut:
i
sumber