Pemeriksaan kod yang saya tahu setakat ini biasanya dilakukan semasa peringkat penyepaduan berterusan. Walaupun ini dapat memastikan kualiti kod, saya secara peribadi berpendapat bahawa kosnya masih agak tinggi Sebab utamanya ialah:
Seorang pembangun akhirnya menyelesaikan pembangunan di cawangannya sendiri, kemudian menolaknya ke pelayan, dan kemudian menyepadukan secara berterusan. untuk menyemak kod dan mendapati bahawa gaya kod tidak lulus Keseluruhan proses maklum balas ini mengambil masa terlalu lama.
Projek Java yang sedang dibangunkan berharap dapat menyemak kod seperti (gaya semak, pmd, dll.). capai adalah seperti berikut:
Mesti lulus pemeriksaan kod sebelum penyerahan, jika tidak, penyerahan tidak akan dibenarkan
Sebaik-baiknya ada sokongan alat dan jangan bergantung pada IDE
Fail konfigurasi alat semakan kod adalah yang terbaik untuk melakukan pengurusan versi
Penyelesaian yang sedang difikirkan (belum cuba lagi):
Sepadukan gaya semak dan pemalam lain dalam maven
Gunakan skrip dalam git/hooks untuk memanggil maven untuk pengesahan Jika pengesahan lulus penyerahan, jika gagal, penyerahan adalah tidak dibenarkan
Ia membenarkan pembangun menolak hanya kepada cawangan yang tidak boleh dikeluarkan (seperti dev), dan pembangun cawangan yang dikeluarkan secara rasmi (seperti master) tidak mempunyai hak untuk menolak secara langsung.
Pasang pemalam seperti checkstyle pada pelayan Jika semakan lulus, dev akan digabungkan ke dalam master Jika semakan gagal, gabungan tidak akan dibenarkan.
Anda telah faham dengan betul, git hook digunakan untuk melakukan perkara ini
Kami menggunakan sonar qube untuk menyemak dan bekerjasama dengan jenkins untuk menyemak semasa penyepaduan berterusan.
Tidak perlu lulus pemeriksaan sebelum penyerahan, kerana kami memberi masa kepada pembangun untuk membuat pengubahsuaian kemudian.
Secara peribadi, saya fikir selagi kod itu boleh disusun dan ujian unit dan ujian integrasi telah lulus, ia boleh dikeluarkan. Masalah yang ditemui dalam pemeriksaan kod boleh dimasukkan ke dalam lelaran versi seterusnya, dan ketua pasukan pembangunan hanya boleh melihat pembangun membuat pengubahsuaian.