Saya berasumsi dengan "praktik terbaik" yang Anda maksudkan beberapa daftar aturan yang seseorang tulis dalam sebuah buku. Tentu saja jika Anda maksud kalimat secara harfiah, maka tentu saja Anda harus selalu menulis kode terbaik yang Anda bisa.
Perlukah saya tunjukkan bahwa tidak ada satu pun "praktik terbaik" yang diterima secara universal? Untuk aturan apa pun yang dipromosikan oleh satu pakar, Anda hampir selalu dapat menemukan pakar lain dengan kredensial yang sama yang mengatakan sesuatu yang berbeda.
Tetapi to the point: Jawaban singkat: biasanya, tetapi tidak selalu.
Setiap bidang memiliki "praktik terbaik" dan "solusi buku teks". Ini mewakili akumulasi pengalaman dan kebijaksanaan banyak, banyak orang selama bertahun-tahun, dan tidak boleh diabaikan. TAPI! Selalu ada keadaan khusus, kasus pinggiran, dll. Orang yang benar-benar mampu di bidang apa pun tahu kapan harus mengikuti aturan dan kapan harus melanggarnya.
Saya akan mengatakan secara umum: Mulailah dengan mengikuti aturan buku teks. Ketika mengikuti aturan buku teks menyebabkan masalah - kompleksitas yang tidak perlu, kinerja buruk, apa pun - kemudian mempertimbangkan apakah melanggar aturan yang satu ini kali ini mungkin bukan ide yang lebih baik.
Jika Anda mengabaikan aturan dan pergi ke mana pun keinginan Anda saat ini menuntun Anda, kode Anda kemungkinan akan berantakan. Tidak peduli seberapa pintar Anda, Anda bukan programmer pertama di dunia. Masuk akal untuk belajar dari pengalaman orang lain. Dalam kehidupan kita sehari-hari, inilah sebabnya kita memiliki orang tua, guru, dan pengkhotbah: jadi kita tidak perlu mengulangi setiap kesalahan bodoh untuk mengetahui bahwa itu adalah kesalahan bodoh.
Tetapi jika Anda dengan patuh mengikuti daftar aturan dari beberapa buku 100% dari waktu, Anda akan sering menemukan diri Anda memalu pasak persegi menjadi lubang bundar. Orang-orang yang menulis buku aturan mungkin tidak menemukan kasus seperti milik Anda. Dan bahkan jika mereka punya, jika itu cukup langka mereka mungkin mengabaikannya. Aturan yang bekerja 80% dari waktu adalah aturan yang sangat baik - selama Anda mengerti bahwa itu bekerja 80% dari waktu dan bukan 100% dari waktu.
Saya menulis buku tentang desain basis data yang mencakup banyak aturan yang saya sarankan untuk diikuti oleh perancang basis data. (Saya akan menahan diri dari memberikan judul sehingga saya tidak terlihat seperti tanpa malu-malu tergelincir dalam promosi diri.) Saya tentu saja mendorong siapa pun yang ingin mendesain database untuk membaca buku seperti milik saya dan belajar semampu mereka dari itu. . Tapi TENTU SAJA ada kalanya Anda harus melanggar aturan yang saya daftarkan.
Saya pernah menulis dokumen standar pemrograman untuk tim pengembang yang saya pimpin saat itu. Dan aturan terakhir berbunyi seperti ini: "Jika Anda memiliki alasan yang baik untuk melanggar salah satu aturan di atas, maka silakan, TAPI Anda harus memasukkan komentar dalam kode Anda menjelaskan mengapa Anda melanggar aturan. Jika Anda tidak bisa datang dengan alasan yang bagus, lalu ikuti aturan. Jika menulis komentar lebih banyak masalah daripada mengikuti aturan, maka ikuti aturan. " Kami hanya memiliki beberapa kali seseorang menemukan melanggar aturan yang sepadan dengan kesulitan untuk menjelaskan mengapa.