Ada banyak percakapan mengenai praktik terbaik 1 dalam pengembangan perangkat lunak. Saya telah melihat setidaknya tiga poin utama mendapatkan banyak diskusi tentang SE dan di tempat lain:
- Apa yang memenuhi syarat sebagai praktik terbaik, dan mengapa?
- Apakah praktik terbaik bahkan layak didiskusikan sejak awal, karena masuk akal untuk menyatakan bahwa tidak ada praktik yang merupakan praktik "terbaik"?
- Kapan Anda harus melepaskan praktik terbaik - atau mungkin praktik terbaik - baik karena tampaknya tidak berlaku atau karena kendala eksternal (waktu, uang, dll.) Yang membuat pertukaran tidak praktis?
Sesuatu yang tampaknya muncul jauh lebih jarang, tetapi lebih dari tidak pernah, adalah gagasan tentang akal sehat dalam pengembangan perangkat lunak. Pengalaman baru-baru ini telah membawa gagasan ini ke depan pikiran saya lagi.
Kesan awal saya adalah bahwa ini adalah diskusi yang berbeda dari praktik terbaik, tetapi mungkin dengan beberapa penyerbukan silang.
Ketika saya memikirkan akal sehat secara umum, saya memikirkan seperangkat aturan yang telah Anda ambil atau pelajari yang memberi Anda dasar untuk alasan dan membuat keputusan. Mengikuti akal sehat adalah cara yang baik untuk menghindari Anda menembak seluruh kaki Anda. Tetapi di luar garis dasar yang cukup rendah, akal sehat memberi jalan pada kebutuhan untuk membuat keputusan yang berpendidikan, dan keputusan yang berpendidikan bahkan dapat mengesampingkan akal sehat ketika bukti tampaknya cukup meyakinkan. Saya mungkin bermain sedikit longgar dengan definisi di sini, tapi saya pikir itu cukup dekat untuk menjadi ujung tombak contoh saya.
Ketika saya memikirkan akal sehat dalam pengembangan perangkat lunak, saya memikirkan semua aturan kebersihan dasar untuk mencegah basis kode dengan cepat membusuk menjadi kekacauan yang tidak dapat dipahami. Sebagai contoh, hal-hal seperti: tidak menggunakan struktur global tunggal untuk mempertahankan dan berkomunikasi negara dalam program non-sepele; tidak menggunakan variabel / metode / nama kelas yang hanya omong kosong acak; hal-hal yang mungkin sangat mirip dengan apa yang kita sebut anti-pola. Di mana menerapkan praktik terbaik analog praktis untuk pola pembelajaran, menerapkan akal sehat dapat dilihat sebagai analog praktis anti-pola pembelajaran.
Dengan mengingat hal ini, saya ingin mengajukan beberapa pertanyaan yang melihat jawaban orang lain mungkin dapat membantu saya mencari jalan melalui hal ini.
Apakah orang lain percaya bahwa ada gagasan tentang akal sehat dalam pengembangan perangkat lunak? Akan tertarik mengetahui alasannya.
Jika demikian, apakah ini layak untuk dibahas? Apakah itu sesuatu yang harus kita dorong sebanyak yang kadang-kadang kita lakukan dengan praktik terbaik? Apakah ini sesuatu yang layak untuk didorong lebih keras?
Jika analogi dengan anti-pola tampak masuk akal, aturan umum adalah bahwa anti-pola hanya digunakan jika tidak ada cara lain, dan itupun hanya dalam keadaan yang sangat terbatas. Seberapa fleksibel seseorang dalam membiarkan basis kode menyimpang dari akal sehat? Tampaknya tidak masuk akal bahwa jawabannya adalah "tidak sama sekali," karena kadang-kadang kemanfaatan menuntut penyimpangan. Tapi, sepertinya argumen yang berbeda dari kapan menggunakan "praktik terbaik." Mungkin bukan; jika Anda tidak berpikir begitu, saya ingin tahu alasannya.
Ini jauh lebih terbuka dan mungkin layak untuk ditindaklanjuti sendiri, rekomendasi macam apa yang akan Anda tunjukkan yang tampaknya seperti masalah akal sehat?
Pikiran lain juga diterima.
1 Mungkin saya akan lebih baik memanggil mereka "pola domain yang sering berulang", tetapi nama "praktik terbaik" cukup umum sehingga semua orang tahu apa itu, bahkan jika mereka tidak setuju. Jika bagian "terbaik" mengganggumu, bayangkan saja aku mengganti "praktik terbaik" dengan sesuatu yang terdengar kurang otoritatif.