Pek çok programlama dilinde girintileme bir tercih meselesidir. Bu dillerde yazdığınız kodlar girintilenmiş de olsa girintilenmemiş de olsa düzgün bir şekilde çalışacaktır. Mesela aşağıdaki C koduna bakalım:
Eğer istersek yukarıdaki kodları şöyle de yazabiliriz:
Bu kodları daha sonra okuyacak kişilerin nefretini kazanmak dışında, kodları bu şekilde yazmamız herhangi bir soruna neden olmaz. Yani yukarıda gösterilen her iki kod da derleyiciler (compiler) tarafından aynı şekilde okunup, başarıyla derlenecektir. Eğer yazdığınız kodların okunaklı olmasını istiyorsanız, yukarıda gösterilen ilk kodlama biçimini tercih etmeniz gerekir. Ama dediğim gibi, ikinci kodlama biçimini kullanmanız da programınızın çalışmasını etkilemez.
Ancak Pythonla ilgilenen herkesin çok iyi bildiği gibi, Python programlama dilinde girintileme basit bir üslup meselesi değildir.
Yani yukarıdaki C kodlarının yaptığı işi Pythonla yerine getirmek istersek şöyle bir kod yazmamız gerekir:
Bu kodların sahip olduğu girintileme yapısı Python açısından büyük önem taşır. Örneğin yukarıdaki kodları şu şekilde yazamayız:
Bu kodlar çalışma sırasında hata verecektir.
Aslında Pythondaki girintileme mevzuu bundan biraz daha karışıktır. Yukarıdaki örneklerde görüldüğü gibi girinti verilmesi gereken yerde girinti verilmemesinin hataya yol açması dışında, programın yazılması esnasında bazı yerlerde SPACE tuşuna basılarak, bazı yerlerde ise TAB (Sekme) tuşuna basılarak girinti verilmesi de hatalara yol açabilir. Dolayısıyla yazdığınız programlarda girintileme açısından mutlaka tutarlı olmanız gerekir. Boşluk ve sekme tuşlarını karışık bir şekilde kullanmanız, kimi zaman yazdığınız kodların düzgün çalışmasını engellemese bile, farklı metin düzenleyicilerde farklı kod görünümlerinin ortaya çıkmasına sebep olabilir. Yani mesela herhangi bir metin düzenleyici kullanarak yazdığınız bir programı başka bir metin düzenleyici ile açtığınızda girintilerin birbirine girdiğini görebilirsiniz.
Girintilemelerin düzgün görünmesini sağlamak ve hatalı çalışan veya hiç çalışmayan programlar ortaya çıkmasına sebep olmamak için, kullandığınız metin düzenleyicide de birtakım ayarlamalar yapmanız gerekir. Bir defa kullandığınız metin düzenleyicinin, mutlaka sekmelerin kaç boşluktan oluşacağını belirleyen bir ayarının olması gerekir. Örneğin Gnomedeki Gedit, KDEdeki Kate ve Kwrite, Windowstaki Notepad++ ve Notepad2 adlı metin düzenleyiciler size böyle bir ayar yapma şansı tanır. Herhangi bir program yazmaya başlamadan önce mutlaka sekme ayarlarını yapmanız veya bu ayarların doğru olup olmadığını kontrol etmeniz gerekir. Mesela Gedit programı üzerinden bir örnek verelim.
Gediti ilk açtığınızda düzen/yeğlenenler/düzenleyici yolunu takip ederek sekmeler başlığı altındaki ayarları kontrol etmelisiniz. Python programlarımızın girinti yapısının düzgün olabilmesi için orada sekme genişliğini 4 olarak ayarlamanız, Sekme yerine boşluk ekle seçeneğinin yanındaki kutucuğu da işaretli hale getirmeniz gerekir. Buna benzer ayarlar bütün iyi metin düzenleyicilerde bulunur. Örneğin Geany adlı metin düzenleyiciyi kullanıyorsanız, düzenle/tercihler/düzenleyici/girinti yolunu takip ederek şu ayarlamaları yapabilirsiniz:
Öte yandan, bu işin bir de sizin pek elinizde olmayan bir boyutu vardır. Eğer yazdığınız kodlar birden fazla kişi tarafından düzenleniyorsa, sekme ayarları düzgün yapılmamış bir metin düzenleyici kullanan kişiler kodunuzun girinti yapısını allak bullak edebilir. Bu yüzden, ortak proje geliştiren kişilerin de sekme ayarları konusunda belli bir kuralı benimsemesi ve bu konuda da tutarlı olması gerekir. İngilizce bilenler için, bu girintileme konusuyla ilgili http://wiki.python.org/moin/HowToEditPythonCode adresinde güzel bir makale bulunmaktadır. Bu makaleyi okumanızı tavsiye ederim.
Kod:
#include <stdio.h> int main() { int a = 1; if (a == 1) { printf("Elveda Zalim Dünya!\\n"); return 0; } }
Eğer istersek yukarıdaki kodları şöyle de yazabiliriz:
Kod:
#include <stdio.h> int main(){int a = 1;if (a == 1){printf("Merhaba Zalim Dünya!\\n");return 0;}}
Bu kodları daha sonra okuyacak kişilerin nefretini kazanmak dışında, kodları bu şekilde yazmamız herhangi bir soruna neden olmaz. Yani yukarıda gösterilen her iki kod da derleyiciler (compiler) tarafından aynı şekilde okunup, başarıyla derlenecektir. Eğer yazdığınız kodların okunaklı olmasını istiyorsanız, yukarıda gösterilen ilk kodlama biçimini tercih etmeniz gerekir. Ama dediğim gibi, ikinci kodlama biçimini kullanmanız da programınızın çalışmasını etkilemez.
Ancak Pythonla ilgilenen herkesin çok iyi bildiği gibi, Python programlama dilinde girintileme basit bir üslup meselesi değildir.
Yani yukarıdaki C kodlarının yaptığı işi Pythonla yerine getirmek istersek şöyle bir kod yazmamız gerekir:
Kod:
a = 1 if a == 1: print "Elveda Zalim Dünya"
Bu kodların sahip olduğu girintileme yapısı Python açısından büyük önem taşır. Örneğin yukarıdaki kodları şu şekilde yazamayız:
Kod:
a = 1 if a == 1: print "Elveda Zalim Dünya"
Bu kodlar çalışma sırasında hata verecektir.
Aslında Pythondaki girintileme mevzuu bundan biraz daha karışıktır. Yukarıdaki örneklerde görüldüğü gibi girinti verilmesi gereken yerde girinti verilmemesinin hataya yol açması dışında, programın yazılması esnasında bazı yerlerde SPACE tuşuna basılarak, bazı yerlerde ise TAB (Sekme) tuşuna basılarak girinti verilmesi de hatalara yol açabilir. Dolayısıyla yazdığınız programlarda girintileme açısından mutlaka tutarlı olmanız gerekir. Boşluk ve sekme tuşlarını karışık bir şekilde kullanmanız, kimi zaman yazdığınız kodların düzgün çalışmasını engellemese bile, farklı metin düzenleyicilerde farklı kod görünümlerinin ortaya çıkmasına sebep olabilir. Yani mesela herhangi bir metin düzenleyici kullanarak yazdığınız bir programı başka bir metin düzenleyici ile açtığınızda girintilerin birbirine girdiğini görebilirsiniz.
Girintilemelerin düzgün görünmesini sağlamak ve hatalı çalışan veya hiç çalışmayan programlar ortaya çıkmasına sebep olmamak için, kullandığınız metin düzenleyicide de birtakım ayarlamalar yapmanız gerekir. Bir defa kullandığınız metin düzenleyicinin, mutlaka sekmelerin kaç boşluktan oluşacağını belirleyen bir ayarının olması gerekir. Örneğin Gnomedeki Gedit, KDEdeki Kate ve Kwrite, Windowstaki Notepad++ ve Notepad2 adlı metin düzenleyiciler size böyle bir ayar yapma şansı tanır. Herhangi bir program yazmaya başlamadan önce mutlaka sekme ayarlarını yapmanız veya bu ayarların doğru olup olmadığını kontrol etmeniz gerekir. Mesela Gedit programı üzerinden bir örnek verelim.
Gediti ilk açtığınızda düzen/yeğlenenler/düzenleyici yolunu takip ederek sekmeler başlığı altındaki ayarları kontrol etmelisiniz. Python programlarımızın girinti yapısının düzgün olabilmesi için orada sekme genişliğini 4 olarak ayarlamanız, Sekme yerine boşluk ekle seçeneğinin yanındaki kutucuğu da işaretli hale getirmeniz gerekir. Buna benzer ayarlar bütün iyi metin düzenleyicilerde bulunur. Örneğin Geany adlı metin düzenleyiciyi kullanıyorsanız, düzenle/tercihler/düzenleyici/girinti yolunu takip ederek şu ayarlamaları yapabilirsiniz:
Kod:
genişlik => 4 Tür => Boşluklar sekme genişliği => 4
Öte yandan, bu işin bir de sizin pek elinizde olmayan bir boyutu vardır. Eğer yazdığınız kodlar birden fazla kişi tarafından düzenleniyorsa, sekme ayarları düzgün yapılmamış bir metin düzenleyici kullanan kişiler kodunuzun girinti yapısını allak bullak edebilir. Bu yüzden, ortak proje geliştiren kişilerin de sekme ayarları konusunda belli bir kuralı benimsemesi ve bu konuda da tutarlı olması gerekir. İngilizce bilenler için, bu girintileme konusuyla ilgili http://wiki.python.org/moin/HowToEditPythonCode adresinde güzel bir makale bulunmaktadır. Bu makaleyi okumanızı tavsiye ederim.
