Web Projesinin Düzeni Nasıl Olmalıdır?

Web Projesinin Düzeni Nasıl Olmalıdır?
Bilinmeyen Bilişim Kitabı

Bu konumuzda Yazılım Projelerinde Kodlama Düzeni Nasıl Olmalıdır?  gibi sorulara cevap veriyoruz.

SORU:

Bir Internet sitesi projemde (sadece tasarım değil php dahil) dizin düzenim, kod düzenim nasıl olmalıdır. // includelar, div isimleri, klasörler vs. Teşekkürler.

CEVAP:

Güzel bir soru =) Bu soru vesilesiyle dolaylı yoldan çeşitli sıkıntılara neden olan bir konuya da parmak basmış olucaz.

Düzensizliğin Yarattığı Sıkıntı

Her yiğidin yoğurt yiyişi nasıl farklıysa, her yazılımcının da kod yazma şekli farklıdır. Çünkü bazen bir şeyi birden farklı yöntemle yapabilirsiniz. Çoğu yazılımcı için ise önemli olan şey o kodun çalışmasıdır. Çalışıyorsa sorun yoktur. Kod düzeni aslında önemlidir fakat bu çok dikkate alınmaz.

Yazılımcı Kod DüzeniBu durumun yarattığı en büyük sıkıtı bir projeye başka bir yazılımcının dahil olmasında meydana gelir. Yani bir şirkette bir yazılımcının bir web projesi yaptığını düşünelim. O yazılımcı işten çıkıp yerine başka bir yazılımcı alınırsa ve yeni gelen yazılımcıya proje düzenini anlatacak başka bir yazılımcı yoksa ALLAH o yeni yazılımcının yardımcısı olsun … Çünkü işe başladıktan sonra çok ciddi bir süreyi projeyi çözmekle harcar. Bu hem yazılımcının kendisi hemde şirket için çok ciddi sıkıntı doğurur. Hatta bir çok yazılımcı sırf bu sıkıntıya maruz kalmamak için o yazılımı sıfırdan yapmayı tavsiye edebilir. Daha önce bu sıkıntıyı tatmış yazılımcı maddi anlamda sürünme modunda değilse o işi kabul etmez.

Bu vesile ile bünyensinde yazılımcı çalıştırarak bir yazılım yaptıran şirketlere tavsiyem her zaman şirketlerinde en az 2 yazılımcı bulundursunlar ve sözleşme yapsınlar. Sözleşme dahilinde 2 yazılımcı da, aynı anda kafasına göre işten çıkamasın. Biri işten çıkarsa hemen yerine başka bir yazılımcı alınsın ve mevcut yazılımcı yeni gelen yazılımcıya kod yapısını öğretsin. Projeye hakim yazılımcının, anlaşılan maaşı veremediği için işten ayrılmasına neden olan şirketler ise şirketi direk kapatsın. Çünkü o yazılımcıya bile para veremiyorken yeni gelen yazılımcıya, yaşanacak zaman kaybı nedeniyle hiç para veremez ve hem kendisinin hemde o yazılımcının sıkıntıya girmesine neden olur.

Şirketi bir kenara bırakalım, düzensizlik yazılımcının kendisi içinde sıkıntıdır. Yazılımcı projenin her bölümüyle her gün ilgilenmez. Bazı bölümlere aylarca bakmayabilir. Aylar sonra baktığı bölümde “burada neden bunu kullanmışım lan …” yada “burada ne yapmak istemişim …” veya “bunun olmasına neden olan kod hangisiydi …” gibi sıkıntılara düşebilir.

Benden Bir Örnek

Benim yazılım öğrenip kendimi geliştirmeyi hedeflediğim dönemde çok billurlu bir proje yapmayı kafaya koymuştum. 1 web sitesi içinde tam 13 web sitesi vardı. Gece gündüz aralıksız, dışarı çıkmadan, hiç bir keyif verici şeyle uğraşmadan 3 ay civarı sürdü. Tam deli işiydi =) Görenler o siteyi tek başıma yaptığıma inanmıyordu. O projeyi gösterip iş başvurusu yaptığımda sorgusuz sualsiz işe kabul ediyorlardı.(O projeyi referans göstererek 3 işe başvurdum, 3 ‘ü de kabul etmişti.) Fakat acayip düzensizdi. Bir noktadan sonra bir şey yapmak istediğimde neyi, nerede, neden yaptığımı bulmakta zorlanıyordum. O yüzden projeyi çöpe attım.

Yazılım Projelerinde Klasör ve Dosya Düzeni Nasıl Olmalıdır?

Bu düzensizliğin yarattığı sıkıntıya değindikten sonra sorumuza yoğunlaşacak olursak mutlaka bir düzen olması gereklidir. Bu düzenin en başında bir klasör düzeni olması gereklidir. Yani ilk bakıldığında en azından neyin nerede olduğuna dair bir fikre kapılabilmek gerek.

Kişisel bilgisayarınızda nasıl müziklerinizi bir klasörde, filmlerinizi başka bir klasörde, resimlerinizi başka klasörde isimlendirerek tutuyorsanız aynı web projelerinde de böyle olmalı. Örneğin resimler klasörü olup bunun içinde sadece resimler olmalı. Sırf klasörün adı resimler diye resimler klasörünün içine kesinlikle resimler.php dosyasını atmayın. Resimler klasörünün içinde sadece resim dosyaları olsun. Sonra o dosyayı bulmakta çok ciddi sıkıntılar yaşarsınız.

Yazılımcı Klasör ve Dosya DüzeniHer klasöre ve dosyaya ilk baktığınızda ne olduğunu anlayacağınız isimler verin. Klasörün adı ne ise sadece o isme hitap eden dosyaları atın. Örneğin projede Admin bölümü oluşturacaksınız. Klasörün adını Admin yapın ve Admin ile ilgili bütün dosyaları onun içine atıp, admin ile alakalı bütün klasörleri Admin klasörünün içinde oluşturun.

Kısacası bir klasörün yada dosyanın ismine “hedehodo” gibi anlamsız şeyler yazmayın. Bir şey düzeltmek, silmek yada eklemek istediğinizde önce ona ait dosyayı bulmak zorunda olduğunuz için öncelikli olarak ilgili dosyayı bulmanızı kolaylaştıracak bir düzene sahip olun.

Bir diğer önemli nokta ise bir klasöre ulaşmak için 5 tane klasörün içerine girmenizi gerektirecek bir düzeniniz olmasın. Bu kodlamada o klasörün içindeki dosyayı kullanmak istediğinizde de çok ciddi sıkıntılara neden olabilir. En fazla 2 klasörün içine girdikten sonra ilgili dosyaya ulaşabilecek bir düzene sahip olun.

Yazılım Projelerinde Dosya Düzeni Nasıl Olmalıdır?

Yazılımda kod düzeni de çok önemlidir. Benim tavsiyem bir dosyada bir dünya kodun olmaması yönünde. Yani bölümlere ayırın. Footer, Header, yan menü gibi hepsi ayrı ayrı dosyalardan çağrılsın. Bu sayede bir dosyaya kod yığılmamış olacak ve müdahale etmek istediğimiz kısma daha kolay ve hızlı ulaşıcaz.

Kodlara eklemek faydalı olur. Kodların yanına “//” işareti koyduktan sonra yazdığınız her şey açıklama olduğu anlamına gelir ve oraya yazacağınız hiç bir şey projenin çalışmasını olumsuz etkilemez. Fakat bir satır atlarsanız “//” işaretinden çıkmış olursunuz. Bu nedenle “/* Buraya */” işaretini de kullanabilirsiniz “/*” işaretini koyduktan sonra “*/” işaretini koyana kadar yazdığınız her şey açıklama olarak kabul edilir.

Bu açıklama satırını kullanmanız karmaşık kodlara not düşmenizi ve ileride bir zaman baktığınızda neyi, nasıl, neden yaptığınızı daha kolay anlamanızı sağlar.

SONUÇ

Düzen karışık olan her şeyde sorun yaşamanızı minimuma indiren şeydir. Bu yüzden düzene özen gösterin. Yazılımcılar genelde düzensiz insanlardır (en azından ben öyleyim, odayı bazen b.k götürür … İş yerinde en düzensiz masa benim ki ve masamın düzensizliği nedeniyle nadiren de olsa uyarı alırım …) . Yazılım ile uğraşırken o anda akıldan bir dünya şey geçer ve o yüzden ilk akla gelen kolay yola başvurulur. Örneğin bir dosyaya yada kodlamada değişkene isim vermek gerektiğinde ilk akla gelen kelime anlamsız bir kelime olursa ve o isim verilirse ileride sıkıntı çıkar. Bu nedenle projenin düzenli olmasına gereken özeni gösterin ki ileride sıkıntı yaşamayın 😉

Bilinmeyen Bilişim Kitabı