Salah satu kolega saya suka menggunakan generator kode otomatis, yang membuat kode dalam jumlah besar yang tidak terdokumentasi dengan baik dan sangat sulit untuk dipelihara.
Apakah biaya menggunakan generator kode sepadan dengan kerumitan dalam pemeliharaan, untuk mengurangi waktu pembuatan?
sumber
Kode yang dihasilkan oleh generator tidak boleh dipelihara dengan tangan. Jika perlu diubah, maka generator dan / atau pengaturannya harus diubah dan dijalankan kembali. Mempertimbangkan itu, tidak masalah jika kode yang dihasilkan tidak dapat dipahami dan tidak berdokumen selama mekanisme pembangkitan itu sendiri sangat jelas. (Pastikan untuk mendokumentasikan fakta bahwa kode tersebut dihasilkan, dan di mana generator itu dan cara kerjanya.)
Analogi: sementara prosesor komputer saya selalu menjalankan kode mesin, saya tidak perlu tahu apa-apa tentang hal itu selama saya tahu cara membuat kode mesin itu menggunakan bahasa dan kompiler tingkat tinggi. Saya pernah mendengar bahwa GCC kadang-kadang menghasilkan kode mesin di bawah standar, tetapi siapa yang peduli, asalkan bekerja dengan sempurna. Lapisan abstraksi basis data menghasilkan SQL untuk beroperasi dengan mesin DB, tetapi siapa yang peduli seperti apa bentuk SQL itu, selama lapisan abstraksi itu jelas dan berfungsi?
Ketika digunakan dengan benar, pembuat kode pasti dapat menghemat tidak hanya pembuatan, tetapi juga biaya perawatan.
sumber
Pembuat kode adalah jenis kompiler. Anda tidak khawatir tentang betapa cantiknya keluaran kompiler, Anda hanya bekerja dengan kode sumber. Menggunakannya dan kemudian memodifikasi hasilnya seringkali lebih sulit daripada hanya menulisnya dari awal dalam bentuk yang dapat dipahami oleh manusia, dan berarti Anda tidak dapat menggunakan pembuat kode lagi tanpa banyak pekerjaan, karena Anda harus menerapkan perubahan yang sama ke kode yang tidak dapat dipahami sama secara akurat.
Oleh karena itu, mereka dapat baik-baik saja jika mereka adalah bagian dari proses pembangunan, dan didokumentasikan seperti itu. Input ke generator kemudian kode sumber, dan apa pun yang dihasilkannya adalah hasil antara, bukan untuk dikacaukan.
Namun, jika seseorang menggunakan kode tersebut untuk menghasilkan kode yang tidak dapat dimengerti yang seharusnya digunakan sebagai sumber, maka orang tersebut akan menghasilkan kode yang buruk. Tidak masalah jika orang tersebut menghasilkan kode yang buruk secara mekanik atau dengan tangan, itu masih kode yang buruk, dan Anda masih memiliki masalah kualitas dengan kode tersebut.
Oleh karena itu, Anda perlu memperlakukan ini sebagai pengembang lain memotong sudut dan menulis kode yang buruk. Saya tidak tahu bagaimana Anda mengatasinya di toko Anda.
sumber
Dari komentar pada jawaban lain, sepertinya Anda bertanya tentang standar tim daripada pembuat kode sendiri.
Alat pembuatan kode harus dimasukkan dalam proyek dan harus (jika sesuai) menjadi bagian dari proses pembangunan. Contohnya adalah pada tim kami, kami menggunakan Subsonic 2.2 yang kami hasilkan kelas dari objek basis data yang sedang dibangun.
Exe yang melakukan ini diperiksa ke dalam SVN sebagai bagian dari proyek sehingga anggota baru tim bisa mendapatkan proyek baru dari svn dan segera membangunnya tanpa harus mencari tahu dari mana semua kelas database ini berasal (dalam contoh ini kita bahkan tidak menyertakan kode yang dihasilkan dalam svn).
sumber