Gelen bilgisayar bilimleri , girinti eklenmesidir sekmelerin veya boşluklar bir de metin dosyası . Girinti tarzı farklı yollar açıklanır programcılar kod bloğu öne yapmak için kullanırlar.
Girinti, kod bloklarının düzenlenme tarzı ile tanımlanır, ancak özellikle her seviyede kullanılan boşlukların sayısı ile tanımlanır.
Girinti sadece estetik olmayabilir. Aslında, geçerli bloklar veya satırlar oluşturmak için belirli diller için zorunludur (örneğin Occam , Fortran veya Python ).
Brian Kernighan ve Dennis Ritchie'nin C diliyle ilgili ilk kitap olarak bilinen The C Language kitaplarındaki örnekleri yazarken kullandıkları stil budur .
void a_function(void) { if (x == y) { something1(); something2(); } else { somethingelse1(); somethingelse2(); } finalthing(); }Bu nedenle, bildirimle aynı satırda bırakılan diğer küme parantezlerinden (örneğin kontrol yapıları) farklı olarak, bir işlevin açma ayracını bildirimsel kısmı takip eden satıra yerleştirir.
VaryantlarBu tarzın birçok çeşidi var. Nispeten yaygın bir varyasyon, işlevlerin açılış parantezini bildirimsel kısım ile aynı satıra yerleştirmektir; C haricinde, örneğin Sun tarafından Java dili için önerilen kullanımlardan biridir.
Yaygın olarak karşılaşılan başka bir nüans, else anahtar kelimesinin yerleşiminden gelebilir . Bazı geliştiriciler onu tam bir satıra yerleştirmeyi tercih ediyor.
Eric Allman'ın adını taşıyan bu stil, aşağıdaki örnekte olduğu gibi, açılış ve kapanış parantezlerinin sıkı bir hizalamasını izler:
void a_function(void) { if (x == y) { something1(); something2(); } else { somethingelse1(); somethingelse2(); } finalthing(); }Bu stilin en büyük avantajı, herhangi bir korsaj eksikliğini görsel olarak çok kolay bir şekilde tespit edebilmenizdir. Ek olarak, her kod bloğunun içeriği arasında okunabilirliği artıran net bir ayrım vardır. Bu, diğer stillere göre daha fazla sayıda satır maliyetiyle elde edilir. "Whitesmiths" tarzına çok yakın.
Kullanımlar, işlevler için nasıl parantez yerleştirileceğine göre farklılık gösterir; bazı yazarlar vücuda girinti yapar ve bildirici kısma karşı diş teli uygular, diğerleri diş tellerini girintili yapmadan vücuda girinti yapar, yine de diğerleri vücuda veya diş tellerine girinti yapmaz.
Resmi GNU önerisi, programcıların işlevin dönüş türünü ayrı bir satıra koymalarıdır, böylece işlevin adı ilk sütunla aynı hizaya gelir. Aynı şekilde, işlev çağrıları için kullanılan parantezlerin önünde bir boşluk olmalıdır.
Bununla birlikte, bu hususlar GNU stiliyle sınırlı değildir ve bu notasyonlardan herhangi birinin diğer girinti stilleriyle karşılaşması nadir değildir. Örneğin, BSD çekirdek kodunun sunumunu yöneten KNF, bir işlevin dönüş türünün, bunun adından önceki bir satıra tek başına yerleştirilmesini gerektirir.
void a_function (void) { if (x == y) { something1 (); something2 (); } else { somethingelse1 (); somethingelse2 (); } finalthing (); }Bu tarz Pico dilinden geliyor .
Bu, C ++ dilinin mucidi Bjarne Stroustrup tarafından C ++ dilini açıklayan kitabındaki örnekleri yazmak için kullanılan stildir .
Bu, C ++ tarafından getirilen yeni özelliklere genişletilmiş K&R stilinin bir varyasyonuna benzer.
Hepsi Algol'dan (1960) türetilen bu türün yüksek seviyeli dilleri benzer bir stil kullanır.
1983'ten günümüze fiili Pascal standardı olan Turbo-Pascal (Delphi), diğer dillerde, örneğin PHP'de veya Ada'da yaygın olarak kullanılan, iki girinti karakteriyle daha verimli ve okunabilir bir kodlama stili sunmuştur. (GetTime.PAS standart biriminin TimeInterrupt programı)
begin ah := $2c; {initialize correct registers} with recpack do begin ax := ah shl 8 + al; end; intr($21,recpack); {call interrupt} with recpack do begin str(cx shr 8,hour); {convert to string} str(cx mod 256,min); { " } str(dx shr 8,sec); { " } end; time := hour+':'+min+':'+sec; end;Gelen Occam , bu ( "o", "son", "Başlangıç") blok yapı önleyen bir blok ait bilgileri taşıyan girinti olup. Girinti iki karakter uzunluğundadır. Yukarıda, DOĞRU, "eğer" veya "durum" yapılarının "varsayılan" veya "başka" ifadesinin eşdeğeridir (C'de "anahtar").
Bu stil, yukarıdaki "Turbo Pascal türevi" türüne çok yakındır. Standart FORTRAN'da, her satırın ilk 5 karakterinin teorik olarak ya yorumlar için (ilk sütunda "C") ya da Hollerith delikli kartların (1890) formatına göre satır numaraları (etiketler) için 80 ile ayrıldığını unutmayın. sütunlar (@IBM 1926).
Önerilen girinti , belirli özel şekiller için istisnalar dışında 2 karakterdir ve blokların oluşturulmasını önler ("başla", sonra "sonra", "başka", "bitiş"). Kapanış parantezleri birlikte gruplanmıştır ve karşılık gelen açık parantezlerle dikey olarak hizalanmamıştır. Lisp programlarının yazımı, karşılık gelen açma / kapama parantez çiftlerini vurgulamaya ve yapıya göre kodu otomatik olarak girintili hale getirmeye izin veren editörlerin kullanımı tarafından tercih edilir.