"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."- Martin Fowler
demiş.Martin fowler.Türkçesi :
Herhangi bir aptal bir bilgisayarın anlayacağı tarzda kod yazabilir,ama iyi programcılar insanların anlayacağı kod yazarlar.
Ütopikmidir bilinmez,yıllarca tartışılmış şeyler;
Benim burada maksadım hakkaten tartısmanın bir fayda getirmediği gerçeği üzerine eğilmek.
Yıllarca kod yazdık; yazmaya devam ediyoruz.Gerçekten içinize sinerek yaptığınız bir application var mı? Benim şahsen 1 i dışında hiç bir zaman olmadı.Çünkü her zaman business kafasına takılır bu tür şeyler.
Mesela deniliyor ki ;
laravelle kodlama yap yeterli...
Anlamsız bir lakırtı (söz).Yani diyor ki; seni rahat kovabileyim...türkçesi budur bu sözün..laravelle kodlama yap yeterli işte
evet laravel seni derli toplu bir düzene sokar belki..5000 satır route dosyasının icinde bogulabilirsinde hiç sıkıntı değil
blade in icinde model de yazabilirsin o da sorun değil..hepsi laravelin sana izin verdiği şeyler
oldu yapay zeka ya bu şu hatalı bu hatalı diyecek sana..controllerin icinde javascript kodları echo '<tr>.....</tr>' ile yazılmıs kontroller...ufff ki ufff..
Laravelle kodla yeter sözünün ne kadar anlamsız olduğunun ispatı bu tür şeyler.
Görmediniz mi bu tür kodlar
şanslısınız demek ki
Ben bir controller gordum icinde if le başlanmış
if nerde bitiyor belli değil
araya giriyorsun rastgele..ne efenim laravel işte..hadi len ordan laravele eziyettir bu be. makarna kafa..
Neyse uzatmıyorum.Şöyle bir yazı ile devam ediyorum.
It is hard to write clean code
Remember the second law of thermodynamics? It implies that disorder in a system will always increase unless you spend energy and work to keep it from increasing.
Similarly, it takes a hell of a lot of more effort to write clean code. Writing clean code is hard work. It needs a lot of practice and focus during execution.
To be able to write clean code you should train your mind over a period of time.The hardest part is simply making a start, but as time goes by and your skillset improves, it becomes easier. Writing clean code is all about readability, so even the smallest things like changing you habits for naming variables make the biggest difference.
We should be consciously trying to improve code quality and decrease code entropy. The boy scouts of America have a simple rule:
“Leave the campground cleaner than you found it.”
The same rule applies to programmers. Always leave the checked in code cleaner than the code that is checked out.
türkcesini yazmayacağım soranlara ingilizce öğrenin bir zahmet deyip geçiyorum
adam diyor ki işin özünde; bu iş zor iştir,her yönlü zihnini eğitmen gerekir diyor.
Yani framework seni kurtarmıyor maalesef ; framework ile yazdığın proje yi ne kadar iyi maintane edebiliyorsun sorun burda.
fazla değil ya 2 ay sonra yazdığın kodu unutan akıllı developerlarla tanıstınız mı hic
neden peki bunlar.
Mantık şu :
Şu an zaman yok ; geniş bir zamanda düzeltiriz.
clean code kitabını okudunuz mu bilmem ; tokat gibi cevap veriyor sana.
Projelerin son teslim tarihi baskısı hiç azalmaz, müşterilerin sabır katsayısı birden bire pat diye düşmez, aciliyet hiç bitmez ve proje takvimi sizi asla rahat bırakmaz. Bu yüzden hiçbir zaman geriye dönüp kodu temizlemek gibi bir fırsatınız olmaz. Kodu baştan temiz tutup o şekilde ilerlemek gerçek anlamda hızlı gitmenin tek yoludur.
#cleancode
okuyun bu kitabı.
var mı adamın soylediğine uyan; sadece bizim ülkede değil dünya çağında global bir iş akışının sorunlarından bahsediyor aslında.Sadece bizde yok deyip kendimize haksızlık etmeyelim.
Clean kod zor iştir.Business için zaman kaybıdır para kaybıdır.
Hal boyle olunca.arap saçına dönen kod blokları icinde boğulup gidiyoruz.
İyi bir proje yoneticisine sahip değilseniz developer kendi kendini yönetemez.
evet güzel bir söz bence; iyi bir proje yonetecisine sahip olma yada iyi bir it manager ; bizim şirkette var; bu yönden şanslıyız belki.
ama developer qualificationu ego düzeyinde bizde; fazla ileri gitmez yani.Yazdıgı kodu eleştirtmez.
Sonuc olarak; Diyeceğim şu; Ne kadar iyi başlarsanız o kadar iyi gitmeniz icin fırsat vardır önünüzde.
Benim çıkardığım tecrübeler aşağıda yazdım.Sizde katkıda bulunup yorumlayabilirsiniz.
1- Güçlü bir framework kullanın - başlarken global kapsülün icinde başlayın.
2- Rota yazıyorsanız rotalarınız münkün olduğu kadar url yapısınla paralelize gitsin; rota okutmayın.structure takip mekanizması olusturun
ve bir yoğurt yiyişiniz olsun.
3- Methodlarınız çok iş yapmasın.Service container meselesini abartmayın.Bir nesne tek işten sorumlu olsun.
4- İc ice if ve elselerden kaçının; bloklarınızı bölün.
5- Psr standartlarını mutlaka takip edin ve ide dostu bir kod yazın.Sınıflarınızı bulmak icin ugrastırmayın milleti
6- Tanımladıgınız bir blogu tekrarlamayın - Kendini tekrar etme applicationunuza yaptığınız en büyük ihanettir.
7- Mutlaka test yazmaya özen gösterin
...
bir 7 tane daha yazarım sizde yazabilirsiniz.eleştirebilirsinizde sorun değil.
Ben eleştiriye on numara açık bir adamım..
Yazının sonunda bir felsefe yapayım :
Çalışıyorsa problem yok,patronun zaten bug çözmek için sana maaş ödüyor
Haklılık payı olabilir mi bilmem ama insanız biz
kod calısıyorda biz okuyamıyoruz...