İyi yapılandırılmış bir kod yazmanın temel ilkelerini ve görgü kurallarını bilmek isterim.
İyi yapılandırılmış bir kod yazmanın temel ilkelerini ve görgü kurallarını bilmek isterim.
Kod yazarken akılda tutulması gereken en önemli iki şey şunlardır:
okumak Kod TamamlandıHer şey için harikalar yapacak. Size nerede, nasıl ve ne zaman önemli olduğunu gösterecektir. Bu oldukça yazılım geliştirme İncilidir (IMHO.)
MATLAB Programlama Stil Yönergeleri Richard Johnson tarafından iyi bir kaynaktır.
Şey, bunu layman'ın şartlarında istiyorsan:
İnsanları yazmak için öneriyorum çalışan en kısa okunabilir program.
Kod, isim değişkenleri, tasarım sınıfları, ayrı sorumlulukların nasıl biçimlendirileceğiyle ilgili çok daha fazla kural vardır. Ancak, tüm bu kuralların sadece kodunuzun hataların kontrol edilmesini ve orijinal yazardan başka biri tarafından sürdürülebildiğinden emin olmak için orada olduğunu unutmamalısınız. Yukarıdaki tavsiyeyi aklınızda tutarsanız, programınız sadece bu olacaktır.
Bu liste uzun süre devam edebilir, ancak bazı önemli şeyler şunlardır:
Başlamak için iki iyi yer:
Programlama Uygulaması Rob Pike ve Brian W. Kernighan tarafından da faydalı bulduğum bir bölüm var.
Her şeyden önce, "kodlar" kullanmak için doğru kelime değildir. Bir kod genellikle sayısal olan başka bir şeyin temsilidir. Doğru sözcükler "kaynak kod" ve kaynak kodunun çoğunun kaynağı kodudur.
-
İyi kaynak kodunun yazılması:
Bilgisayar programlamasında çok fazla moda var. Taraftarları, fad'ı takip etmeyenleri aydınlanmamış ve çok fazla değiller. Mevcut büyük fads "Test Tahrikli Gelişim" ve "Çevik" gibi görünüyor. 1990'lardaki fad 'Nesne Yönelimli Programlama' idi. Çevrenizdeki fikirlerin yararlı kısımlarını öğrenin, fakat dogmatik olmayın ve en iyi programın yapılması gereken işi yapması gerektiğini unutmayın.
çok aşırı yoğun kodun başımın üst kısmından önemsiz örneği
for(int i=0,j=i; i<10 && j!=100;i++){ if i==j return i*j; else j*=2; }}
bu daha okunabilir ise:
int j = 0; for(int i = 0; i < 10; i++) { if i == j { return i * j; } else { j *= 2; if(j == 100) { break; } } }
İkinci örnek, döngüden açıkça görülebilmesi için mantığa sahiptir; İlk örnek kontrol akışı ile karıştırılmış mantığa sahiptir. Bu iki programın aynı şeyi yaptığına dikkat edin. Benim Programlama tarzı çok fazla kod satırına giriyor, ancak bir zamanlar stilist bir şekilde anlamaya çalışmakla ilgili bir şikâyette bulunmadım, buna karşın daha yoğun yaklaşımları sinir bozucu buluyorum.
Deneyimli bir programcı her ikisini de okuyabiliyor ve okuyacaktır - yukarıdakiler bir an için onları duraklatabilir ve neler olduğunu düşünebilir. Okuyucuyu oturmaya ve kodlara bakmaya zorlamak iyi bir fikir değildir. Kodun açık olması gerekiyor. Her sorunun kendi çözümünü ifade etmek için içsel bir karmaşıklığı vardır. Kod, çözüm karmaşıklığından daha karmaşık olmamalı, Eğer mümkünse.
Diğer posterin aktarmaya çalıştığı şeyin özü budur - programı gerekenden daha uzun yapmayın. Daha uzun iki anlamı vardır: daha fazla kod satırı (yani, kendi satırlarına parantez koymak) ve daha karmaşık. İhtiyaçtan daha karmaşık bir program yapmak iyi değildir. Daha okunabilir hale getirmek iyidir.
Bir göz atın
Her Programcı Bilmeniz Gereken 97 Şey.
Bu ücretsiz ve bu gibi birçok mücevher içerir:
Düşündüğüm bir alıntı var. tüm yazılımlar için özellikle iyi geliştiriciler yakınlarını bilmek ve yakın tutmak onların kalpleri:
Stil ve uyum güzelliği ve zarafet ve iyi ritim sadeliğe bağlıdır. - Plato
Bir cümle içinde bu özetliyor düşünüyorum yazılım olarak kullandığımız değerler geliştiriciler talip olmalı.
Çalıştığımız birkaç şey var bizim kodumuzda için:
- Okunabilirlik
- İdame
- Gelişme hızı
- Güzelliğin kalitesizliği
Platon bize, etkinliğin olduğunu söylüyor bu özelliklerin tümü için faktör basitlik.
Python Style Kılavuzu her zaman iyi bir başlangıç noktasıdır!
Değiştirilebilir Fortran 90 Kod Yazma ve Belgeleme için Avrupa Standartları sonsuza dek benim yer işaretlerimde bulundum. Ayrıca MATLAB ile ilgilendiğiniz için burada bir konu vardı. MATLAB kodunu organize etmek.
Şahsen, programlama stili hakkında daha fazla şey öğrendim ki, MIT Intro to SCI (MIT Intro to SCI) metni olan SICP üzerinden çalışıyorum. Bu söyleniyorsa, Python'da çalışacaksanız, Google stil rehberi başlamak için mükemmel bir yerdir.
Çoğu programın (komut dosyaları) hiçbir zaman bir satır uzunluğundan daha fazla olmaması gerektiğini bir yerde okudum. Tüm gerekli işlevsellik işlevlere veya sınıflara ayrılmalıdır. Katılmaya eğilimliyim.