Kode yang Didokumentasi Sendiri Lebih Mudah Dibaca dan Dipertahankan
Ikuti Principle of Least Atonishment dan aturan kode-sebagai-dokumentasi : gunakan satu variabel untuk satu tujuan, agar keduanya mudah dipahami dan kode mudah dibaca tanpa penjelasan.
Kode yang Terstruktur dengan Benar Lebih Mudah (sehingga Lebih Murah) untuk Penggunaan Kembali
Juga, di sini akan muncul yang query
selalu digunakan untuk menyiapkan pernyataan sebelum menjalankannya. Itu mungkin pertanda bahwa Anda ingin merombak sebagian kode ini menjadi satu (atau lebih) metode pembantu untuk mempersiapkan dan menjalankan kueri (untuk mematuhi prinsip KERING ).
Dengan cara ini, Anda akan secara efektif:
- gunakan hanya satu variabel dalam metode pembantu Anda untuk mengidentifikasi kueri konteks saat ini,
- perlu mengetikkan lebih sedikit kode setiap kali Anda ingin menjalankan kembali kueri,
- membuat kode Anda lebih mudah dibaca oleh orang lain.
Contoh:
Pertimbangkan ini, diambil dari contoh Anda, di mana versi refactored jelas lebih baik. Tentu saja cuplikan Anda hanyalah contoh untuk tujuan pertanyaan ini, tetapi konsepnya tetap berlaku dan berskala.
Contoh Anda 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
Contoh Anda 2:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
Contoh 3 (Kode pseudo-ulang):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
Manfaatnya ditunjukkan dengan penggunaan kembali yang teratur.
Anekdot Pribadi
Saya awalnya mulai sebagai seorang programmer C yang bekerja dengan real-estate layar terbatas, jadi menggunakan kembali variabel masuk akal baik untuk kode yang dikompilasi (saat itu) dan untuk memungkinkan lebih banyak kode dapat dibaca sekaligus.
Namun, setelah pindah ke bahasa tingkat yang lebih tinggi dan memoles pemrograman fungsional, saya membiasakan diri menggunakan variabel yang tidak dapat diubah dan referensi yang tidak dapat diubah di mana pun dimungkinkan untuk membatasi efek samping.
Apa untungnya bagi saya?
Jika Anda terbiasa memiliki semua input fungsi Anda tidak berubah dan untuk mengembalikan hasil baru (seperti fungsi matematika sejati), Anda terbiasa tidak menduplikasi toko.
Dengan ekstensi, ini mengarah ke:
- Anda menulis fungsi pendek,
- dengan tujuan yang jelas,
- yang lebih mudah dimengerti,
- untuk digunakan kembali,
- untuk memperpanjang (apakah dengan pewarisan OO atau dengan perangkaian fungsional),
- dan mendokumentasikan (sebagaimana telah mendokumentasikan diri).
Saya tidak mengatakan tidak ada manfaatnya untuk mengubah keadaan di sini, saya hanya menunjukkan bagaimana kebiasaan itu dapat tumbuh pada Anda dan bagaimana hal itu berdampak pada keterbacaan kode.