"En iyi uygulamalar" ile birisinin bir kitapta yazdığı kuralların bir listesini kastettiğini düşünüyorum. Tabii ki kelimeyi tam anlamıyla kastediyorsanız, elbette her zaman mümkün olan en iyi kodu yazmalısınız.
Evrensel olarak kabul edilen tek bir “en iyi uygulama” seti olmadığını belirtmem gerekir mi? Bir uzman tarafından teşvik edilen herhangi bir kural için, neredeyse her zaman farklı bir şey söyleyen eşit kimlik bilgilerine sahip başka bir uzman bulabilirsiniz.
Ama mesele: Kısa cevap: genellikle, ama her zaman değil.
Her alanın "en iyi uygulamaları" ve "ders kitabı çözümleri" vardır. Bunlar, uzun yıllar boyunca birçok insanın birikmiş deneyimini ve bilgeliğini temsil eder ve göz ardı edilmemelidir. FAKAT! Her zaman özel koşullar, saçaklar, vb. Vardır. Herhangi bir alanda gerçekten yetenekli kişi, kurallara ne zaman uyulacağını ve ne zaman kırılacağını bilir.
Genel olarak söyleyebilirim: Ders kitabı kurallarına uyarak başlayın. Ders kitabı kurallarını uygularken sorun çıkarır - gereksiz karmaşıklık, düşük performans, her neyse - o zaman bu kuralı kırmanın daha iyi bir fikir olup olmayacağını düşünün.
Kuralları görmezden gelir ve anın hevesinin sizi götürdüğü yere giderseniz, kodunuz muhtemelen karışık bir karışıklık olacaktır. Ne kadar akıllı olursanız olun, dünyadaki ilk programcı değilsiniz. Başkalarının deneyimlerinden öğrenmek mantıklıdır. Günlük yaşamımızda bu yüzden ebeveynlerimiz, öğretmenlerimiz ve vaizlerimiz var: bu yüzden yapmanın aptalca bir hata olduğunu öğrenmek için her aptal hatayı kendimiz tekrarlamak zorunda değiliz.
Ancak, zamanın% 100'lük bir kitabından bir kurallar listesini slav bir şekilde izlerseniz, genellikle kare bir çiviyi yuvarlak bir deliğe çekiçlerken bulacaksınız. Kural kitabını yazan kişiler sizinki gibi bir durumla karşılaşmamış olabilirler. Ve sahip olsalar bile, yeterince nadir olsalar bile görmezden gelebilirler. Zamanın% 80'inde çalışan bir kural mükemmel bir kuraldır - zamanın% 100'ünde değil, zamanın% 80'inde çalıştığını anladığınız sürece.
Veritabanı tasarımına, veritabanı tasarımcılarına uymasını tavsiye ettiğim birçok kural içeren bir kitap yazdım. (Başlığı vermekten kaçınacağım, bu yüzden öz-tanıtımda utanmadan kayıyor gibi görünmüyorum.) Kesinlikle benimki gibi bir kitap okumak ve ondan mümkün olan her şeyi öğrenmek için bir veritabanı tasarlamak isteyen herkesi teşvik ediyorum. . Ama KURSUNDA listelediğim kuralları çiğnemeniz gereken zamanlar var.
Bir keresinde, o zaman önderlik ettiğim bir geliştirici ekibi için bir programlama standartları belgesi yazdım. Ve son kural şu şekilde gitti: "Yukarıdaki kurallardan birini kırmak için iyi bir nedeniniz varsa, devam edin, AMA kodunuza kuralı neden bozduğunuzu açıklayan bir yorum eklemelisiniz. iyi bir nedenden ötürü, kuralı izleyin. Yorumu yazmak kuralı izlemekten daha sorunluysa, kuralı izleyin. " Birinin nedenini açıklamak zahmetine değecek bir kuralı çiğnediğini gördük.