Nedir Bu Clean Code ?

Buse Yalçın
2 min readMay 4, 2021

--

Bir yazılımcı(programcı) olarak kariyerimize atacağımız ilk adımlar için önem taşıyan basamaklardan biri olan Clean Code konusuna değinmek istedim. Biraz ayrıntıya yer vermek ve sizleri sıkmamak adına seri şeklinde yazmaya devam edeceğim. Keyifli okumalar :)

“Bu kitabı iki sebepten ötürü okuyorsunuz: ilki yazılımcısınız, ikincisi daha iyi bir yazılımcı olmak istiyorsunuz. Güzel, çünkü daha iyi yazılımcılara ihtiyacımız var.” diye başlıyor Clean Code’a, usta yazılımcı Robert C. Martin.

Clean Code A Handbook of Agile Software Craftsmanship kitabının girişinden çok hoşuma giden, clean codingin önemini anlatan bir yazıyla başlayayım.

80’lerde bir şirket müthiş ve çok popüler bir uygulama yazdı. Ancak bir zaman sonra yeni sürüm çıkma (release) dönemleri uzamaya başladı. Bir sonraki sürümde hatalar çözülmemiş oluyordu. Yüklenme süresi uzuyor ve çökmeler artıyordu. Büyük bir hüsran ile uygulamayı kaldırdığım günü hatırlıyorum. Zaten bir zaman sonra da şirket tamamen piyasadan çekildi.

20 yıl sonra şirketin ilk çalışanlarından biri ile karşılaştım ve ona ne olduğunu sordum. Cevabı korkularımı doğruladı. Ürünü markete erkenden sürebilmek için çok acele etmiş ve kodda çok büyük bir kargaşaya sebep olmuşlardı. Daha fazla özellik ekledikçe, kod daha da kötü bir hal almış ve o kadar kötü hale gelmişti ki, artık kodu yönetemiyorlardı. Böylece kötü kod şirketin kapanmasına sebep olmuştu.

Hepimiz zaman zaman geri dönüp kodumuzu temize çekeceğimizi söylemişizdir. Ancak o zamanlar LeBlanc’ın şu kuralını bilmiyorduk: “Sonra asla demektir (Later equals never).”

Kod karmaşıklığı arttıkça takımların verimliliği düşer ve sıfıra yaklaşır. Verimlilik düştükçe de yöneticiler yapabildikleri tek şeyi yaparlar; verimliliği artırması umudu ile projeye daha çok insan kaynağı eklerler. (İnsan kaynak mıdır yoksa değer mi?) Takımdaki herkes verimliliği artırmak için büyük baskı altındadır. Öyle ki verimliliği sıfıra daha da yaklaştıracak şekilde kod karmaşası yaratmaya devam ederler.

Bu kısa anlamlı hikayeden sonra clean kodun çekirdek prensiplerine geçebiliriz diye düşünüyorum.

İlk cümlesinden itibaren yeni bakış açıları edinmemi sağlayan bu kitabı okurken aldığım notları sizlerle paylaşmadan edemezdim :)

Ve evet ben de;

“Bu kitabı iki sebepten ötürü okuyorum: ilki yazılımcıyım, ikincisi daha iyi bir yazılımcı olmak istiyorum. Siz de buraya kadar okuduğunuza göre benimle aynı istek, arzular içerisindesiniz. Harika, çünkü hepimizin daha iyi takım arkadaşlarına ihtiyacı var.”

Bir sonraki bölüm ➜ Sınırları Belirleme Ve İsimlendirme

--

--

Buse Yalçın

Computer Engineer ⚪️ Backend Developer ⚪️ Research freak 💃🏼 GitHub: https://github.com/Buse5 Website: buse5.github.io