Programlama tarzı yazarken kullanılan kurallar veya kurallar kümesidir kaynak kodunu a bilgisayar programı . Genellikle belirli bir programlama stili aşağıdaki yardımcı olacağı iddia edilmektedir programcılar okumak ve tarzına uygundur, ve önlemek hataları yardımcı olacağını kaynak kodu anlıyoruz.
Konuyla ilgili klasik bir kitap olan The Elements of Programming Style (in) 1970'lerde yazılmıştır ve Fortran ve PL / I programlama dillerinde örneklerle gösterilmiştir .
Bir programlama stilinin kalitesi hassas bir değerlendirmedir ve karakterizasyonu zordur. Bununla birlikte, birçok programlama stilinde ortak olan unsurlar vardır. Genel olarak büyük olduğu düşünülen yönler, girinti dahil, kaynak kodun düzenidir; operatörler ve anahtar kelimeler etrafında beyaz boşluk kullanımı; anahtar kelimelerin ve değişken adlarının büyük harf kullanımı; kullanıcı tanımlı tanımlayıcıların stili ve yazımı; ve yorumların kullanımı ve tarzı .
Programlama stilleri genellikle kaynak kodun okunabilirliği amacıyla görsel yönüyle ilgilenir. Kaynak kodunu otomatik olarak biçimlendiren ve kodlayıcıların mantıksal isimlendirmeye ve genel süreçlere odaklanmasını sağlayan yazılımlar uzun zamandır mevcuttur. Pratikte, kaynak kodunu biçimlendirmek için bir bilgisayar kullanmak zaman kazandırır.
Girinti stilleri yardım akışı kontrol ve mantık blokları tanımlar. Bazı dillerde, mantıksal kod bloklarını sınırlamak için girinti kullanılır; bu durumlarda doğru girinti sadece bir stil meselesidir. Diğerlerinde, mantıksal ve tutarlı girinti kodu daha okunaklı hale getirse de, girinti ve boşluk işlevi etkilemez. Karşılaştırmak:
if (hours < 24 && minutes < 60 && seconds < 60) { return true; } else { return false; }veya
if (hours < 24 && minutes < 60 && seconds < 60) { return true; } else { return false; }Gibi bir şeyle
if ( hours < 24 && minutes < 60 && seconds < 60 ) {return true ;} else {return false ;}İlk iki örnek, ortak bir şekilde girintili olduklarından okunması çok daha kolay olmalıdır. Bu girinti stili özellikle iç içe geçmiş yapılarla uğraşırken kullanışlıdır. Bununla birlikte, bu örneğin bununla özetlenebileceğini unutmayın:
return hours < 24 && minutes < 60 && seconds < 60; LuaLua , geleneksel parantez veya parantez kullanmaz . Eğer tablolar / else sadece ifadesi izler gerektiren thenve öğretim end.
if hours < 24 and minutes < 60 and seconds < 60 then return true else return false endGirinti isteğe bağlıdır. and (et),, or (ou)ve not (non) doğru / yanlış ifadeler arasında kullanılır.
PythonPython, kontrol yapılarını belirtmek için girinti kullanır . Bunu yaparak, köşeli parantezleri kullanmak artık gerekli değildir .
if hours < 24 and minutes < 60 and seconds < 60: return True else: return FalseÇoğu Python programcısı, genellikle PEP8 olarak bilinen bir stil kılavuzunu takip etme eğilimindedir. PEP8 uyumluluğunu otomatikleştirmek için tasarlanmış araçlar vardır.
Tipografiyle ilgili hataları daha belirgin hale getirmek için benzer öğeleri dikey olarak hizalamak genellikle yararlıdır.
Aşağıdaki kodlardan biri:
$search = array('a', 'b', 'c', 'd', 'e'); $replacement = array('foo', 'bar', 'baz', 'quux'); // Another example: $value = 0; $anothervalue = 1; $yetanothervalue = 2;ve bu:
$search = array('a', 'b', 'c', 'd', 'e'); $replacement = array('foo', 'bar', 'baz', 'quux'); // Another example: $value = 0; $anothervalue = 1; $yetanothervalue = 2;Bu son örnek, ilkinde olduğundan daha fazla iki şeyi sezgisel olarak netleştirir:
Beyaz boşluk stili genellikle okunabilirliği artırmak için kullanılır .
Örneğin, aşağıdaki C'deki sözdizimsel olarak eşdeğer snippet'lerde görünen :
int i; for(i=0;i<10;++i){ printf("%d",i*i+i); }e karşı
int i; for (i=0; i<10; ++i) { printf("%d", i*i+i); }e karşı
int i; for (i = 0; i < 10; ++i) { printf("%d", i * i + i); }