Temiz Kod (Clean Code) Yazmanın Kuralları
Temiz kod (clean code), yazılımın okunabilirliğini ve bakımını kolaylaştıran evrensel kurallar bütünüdür. Anlamlı isimlendirme ve tek sorumluluk prensibi temel yapı taşlarıdır.

İÇİNDEKİLER
%0 okundu
- Temiz Kod (Clean Code) Nedir ve Kurumsal Ölçekte Neden Kritiktir?
- Temiz Kod Yazmanın Evrensel Temel Kuralları
- Yazılım Geliştirme Süreçlerinde Hayati Prensipler
- Temiz Kod Kültürünü Ekibe ve Projeye Entegre Etmek
- Temiz Kod Pratiklerinde Karşılaşılan Sık Hatalar ve Antipatternler
- Sonuç: Temiz Kod Tercih Değil, Profesyonel Bir Sorumluluktur
Temiz kod (clean code), yazılımın okunabilirliğini ve bakımını kolaylaştıran evrensel kurallar bütünüdür. Günümüzün karmaşık yazılım ekosistemlerinde, bir projenin başarısı sadece kodun çalışmasına değil, aynı zamanda ne kadar sürdürülebilir ve anlaşılır olduğuna da doğrudan bağlıdır. Yazılım mimarileri geliştikçe ve ekipler büyüdükçe, standart dışı ve düzensiz yazılmış kod tabanları şirketler için ciddi finansal ve operasyonel yüklere dönüşmektedir. Bu rehberimizde, teknik karar vericiler, işletme sahipleri ve her seviyeden yazılım geliştiriciler için Temiz Kod (Clean Code) Yazmanın Kuralları konusunu derinlemesine ele alıyor; anlamlı isimlendirmeden tek sorumluluk prensibine, teknik borç yönetiminden kod inceleme süreçlerine kadar tüm kritik yapı taşlarını somut örneklerle inceliyoruz.
Temiz Kod (Clean Code) Nedir ve Kurumsal Ölçekte Neden Kritiktir?
Yazılım dünyasında "çalışan kod" ile "temiz kod" arasında çok büyük bir fark vardır. Bir kod bloğu, işlemcinin komutları hatasız yürütmesini sağlayarak o anki işlevini yerine getirebilir. Ancak bu durum, kodun başarılı bir yazılım ürünü oluşturduğunu göstermez. Sektörün öncülerinden Bjarne Stroustrup temiz kodu "zarif ve verimli" olarak tanımlarken, Michael Feathers onu "her zaman arkasında özen gösterildiğine dair bir his bırakan kod" olarak tarif eder. Kurumsal bir perspektiften bakıldığında temiz kod, bir şirketin teknoloji yatırımlarının ömrünü belirleyen en kritik parametredir.
Kodun temiz yazılması, sadece geliştiricilerin estetik kaygılarından ibaret değildir. Doğrudan iş süreçlerini, müşteri memnuniyetini ve şirketin inovasyon hızını etkiler. Karmaşık, düzensiz ve standart dışı yazılmış bir kod tabanı, zaman içerisinde geliştiricilerin sisteme yeni özellikler eklemesini engeller. Her yeni ekleme, sistemin başka bir yerinde beklenmedik hatalara yol açar. Bu durum, yazılım projelerinin teslim sürelerinin uzamasına ve bütçelerin aşılmasına neden olur.
Teknik Borç (Technical Debt) ve Bakım Maliyetleri Üzerindeki Etkisi
Teknik borç (technical debt), hızlı teslimat yapmak amacıyla temiz kod standartlarından ödün verilerek yazılan kalitesiz kodların, ilerleyen süreçlerde işletmeye çıkardığı ek maliyettir. Tıpkı finansal borçlarda olduğu gibi, teknik borç da birikmeye başladığında yüksek bir faizle geri ödenir. Bu faiz, geliştirme ekibinin her geçen gün daha yavaş çalışması, hata ayıklama (debugging) işlemlerine ayrılan sürenin artması ve sistemin tamamen kilitlenme noktasına gelmesidir.
Yapılan araştırmalar ve sektörel deneyimler, yazılım projelerinde harcanan toplam zamanın yaklaşık %80'inin mevcut kodun bakımına (maintenance) ve hata ayıklamaya gittiğini göstermektedir. Sadece %20'lik bir dilim yeni özelliklerin geliştirilmesine ayrılabilmektedir. Temiz kod standartları benimsendiğinde, bakım maliyeti (maintenance cost) ciddi oranda düşer. Kod okunabilirliği arttığı için hataları tespit etmek ve yeni modüller entegre etmek kolaylaşır. Bu da teknik borcun birikmesini engelleyerek projenin uzun vadeli finansal sürdürülebilirliğini güvence altına alır.
Ekip İçi İletişim ve Süreklilikte Kod Okunabilirliğinin Rolü
Yazılım projeleri nadiren tek bir kişi tarafından geliştirilir ve tamamlanır. Genellikle ekipler büyür, değişir veya projeler farklı ekiplere devredilir. Böyle bir senaryoda kodun en büyük işlevi, sadece makine tarafından çalıştırılmak değil, diğer geliştiriciler tarafından kolayca okunup anlaşılabilmektir. Kod okunabilirliği, ekipler arasındaki iş birliğini ve bilgi aktarımını doğrudan belirler.
Bir projedeki "Bus Factor" (otobüs faktörü - projenin devam edebilmesi için kritik bilgiye sahip olan ve gruptan ayrılması durumunda projeyi durma noktasına getirecek minimum insan sayısı) değerini düşürmenin tek yolu temiz kod standartları ve kolektif kod sahipliğidir. Standartlara uygun, temiz yazılmış bir projede, yeni katılan bir geliştirici sistemin mimarisini çok kısa sürede kavrar. Bu durum kurumsal çevikliği artırırken, insan kaynağı değişimlerinde projelerin kesintiye uğramasını engeller.
Temiz Kod Yazmanın Evrensel Temel Kuralları
Temiz kod yazmanın kuralları denildiğinde akla ilk gelen kaynak, şüphesiz Robert C. Martin tarafından kaleme alınan "Clean Code: A Handbook of Agile Software Craftsmanship" kitabıdır. Bu kurallar, teorik felsefelerden ziyade pratik, günlük geliştirme süreçlerinde uygulanabilen ve doğruluğu binlerce başarılı projede kanıtlanmış prensiplerdir. Kod tabanınızın kalitesini artırmak için bu kuralları titizlikle uygulamak gerekir.
Evrensel temiz kod kuralları; değişken isimlendirmeden fonksiyon uzunluklarına, hata yönetiminden yorum satırlarının kullanımına kadar geniş bir yelpazeyi kapsar. Bu kuralların projenin en başından itibaren uygulanması, yazılım standartları açısından bir zorunluluktur. Sonradan spagetti koda dönüşmüş bir sistemi temizlemeye çalışmak, sistemi en baştan temiz tasarlamaktan çok daha maliyetlidir.
Anlamlı ve Standardize Edilmiş İsimlendirme
İsimlendirme, kod yazarken en sık yaptığımız ve en çok hata yapılan işlemdir. Değişkenler, fonksiyonlar, sınıflar (classes) ve dosyalar isimlendirilirken her zaman niyet açıkça belirtilmelidir. Kodunuzu okuyan bir kişi, o ismin ne işe yaradığını anlamak için kodun detaylarına inmek zorunda kalmamalıdır.
Anlamlı isimlendirme kuralları uygulanırken şu prensiplere dikkat edilmelidir:
Niyeti Açıklayın: Değişkenin ismi, onun neden var olduğunu, ne işe yaradığını ve nasıl kullanıldığını net bir şekilde ifade etmelidir.
Kısaltmalardan Kaçının: Kodun yazım süresini saniyeler düzeyinde kısaltmak için yapılan anlamsız kısaltmalar (örneğin; @@CODE0@@ yerine @@CODE1@@) uzun vadede büyük bir kafa karışıklığına yol açar.
Telaffuz Edilebilir ve Aranabilir İsimler Seçin: Kod içinde arama yaparken veya ekip toplantılarında kodu tartışırken kolayca telaffuz edilebilen isimler kullanılmalıdır.
Domain Terimlerini Kullanın: İş mantığına (domain) ait terimler, kod tabanında tutarlı bir şekilde yer almalıdır.
# Kötü Uygulama (Anlamsız ve belirsiz isimlendirme)
d = 34
t = "tr"
def prc(a, b):
return a * b
# İyi Uygulama (Anlamlı ve niyet belirten isimlendirme)
days_since_last_login = 34
default_locale_code = "tr"
def calculate_total_price(unit_price: float, quantity: int) -> float:
return unit_price * quantityTek Sorumluluk Prensibi (Single Responsibility) ve Fonksiyon Yönetimi
Fonksiyonlar, yazılımın en küçük işlevsel birimleridir. Temiz bir kod yapısında fonksiyonların yönetimi için iki altın kural vardır: Fonksiyonlar küçük olmalı ve yalnızca tek bir işi yapmalıdır. Tek sorumluluk prensibi (Single Responsibility Principle - SRP), bir fonksiyonun veya sınıfın değişmek için tek bir nedeni olması gerektiğini savunur.
Bir fonksiyon birden fazla işi yapmaya başladığında, o fonksiyonu test etmek, anlamak ve yeniden kullanmak (reusability) imkansız hale gelir. Fonksiyonların uzunluğu ideali aşmamalı, yan etkileri (side effects) olmamalıdır. Ayrıca parametre sayısı olabildiğince az tutulmalıdır. İdeal bir fonksiyonda parametre sayısı sıfır veya bir olmalı, üçten fazla parametre kullanımından kaçınılmalıdır. Eğer çok fazla parametre gerekiyorsa, bu parametreler bir nesne (object) veya veri yapısı altında gruplanmalıdır.
# Kötü Uygulama: Tek fonksiyonda doğrulama, veritabanı kaydı ve e-posta gönderimi yapılıyor.
def register_user(username, email, password):
if "@" not in email:
raise ValueError("Geçersiz e-posta adresi")
db = connect_db()
db.execute("INSERT INTO users VALUES (?, ?, ?)", (username, email, password))
send_email(email, "Aramıza hoş geldiniz!")
# İyi Uygulama: Sorumluluklar fonksiyonlara ve sınıflara bölünmüş durumda.
class UserValidator:
@staticmethod
def is_valid_email(email: str) -> bool:
return "@" in email
class UserRepository:
def save_user(self, username, email, password):
db = connect_db()
db.execute("INSERT INTO users VALUES (?, ?, ?)", (username, email, password))
class EmailService:
@staticmethod
def send_welcome_email(email: str):
send_email(email, "Aramıza hoş geldiniz!")Yorum Satırlarının Tehlikeleri: Kod Kendi Kendini Açıklamalıdır
Pek çok geliştirici, kodun içine bolca yorum satırı yazmanın iyi bir pratik olduğunu düşünür. Ancak temiz kod felsefesinde, yorum satırlarının çoğu aslında "kötü yazılmış kodun üzerini örtme çabası" olarak değerlendirilir. Kod geliştikçe yorum satırları genellikle güncellenmez ve zamanla yalan söyleyen, geliştiriciyi yanlış yönlendiren tehlikeli ifadelere dönüşürler.
En iyi yorum, hiç yazılmak zorunda kalınmayan, kendini ismiyle ve yapısıyla net bir şekilde ifade eden koddur. Eğer bir kod bloğunu açıklamak için yoruma ihtiyaç duyuyorsanız, öncelikle o kodu nasıl daha anlaşılır hale getirebileceğinizi, fonksiyonlara nasıl bölebileceğinizi düşünmelisiniz. Yorum satırları sadece yasal zorunluluklar, API dokümantasyonları veya teknik olarak kaçınılmaz karmaşık algoritmaların (örneğin gelişmiş bir regex veya matematiksel formül) mantığını açıklamak için kullanılmalıdır.
# Kötü Uygulama (Gereksiz ve kodun kötü yazıldığını gösteren yorum satırı)
# Kullanıcının aktif olup olmadığını ve yaşının 18'den büyük olduğunu kontrol et
if user.status == "active" and user.age > 18:
# Kullanıcıya indirim uygula
apply_discount(user)
# İyi Uygulama (Kod kendi kendini açıklıyor)
if user.is_eligible_for_discount():
apply_discount(user)Merkezi Hata Yönetimi (Error Handling)
Hata yönetimi, yazılımın kararlılığı ve güvenliği için hayati önem taşır. Ancak hata yönetimi yaparken kod tabanını okunmaz hale getirmemek gerekir. Fonksiyonların her yerinde iç içe geçmiş try-catch blokları kullanmak, kodun asıl iş mantığını (business logic) gölgeler.
Temiz kod pratiklerine göre hata yönetimi merkezi bir yapıda kurgulanmalıdır. Hata fırlatırken boş veya anlamsız hata kodları (error codes) dönmek yerine, açıklayıcı istisnalar (custom exceptions) tercih edilmelidir. Ayrıca, hata yönetimi blokları kendi fonksiyonlarına izole edilerek ana akıştan ayrılmalıdır.
Yazılım Geliştirme Süreçlerinde Hayati Prensipler
Yazılım mimarisi oluştururken ve günlük kodlama yaparken geliştiricilerin rehber edindiği bazı temel tasarım prensipleri vardır. Bu prensipler, yazılımın karmaşıklığını yönetmeyi ve kod tabanının kontrolden çıkmasını engellemeyi amaçlar. En popüler ve yaygın olarak kabul görmüş üç temel prensip DRY, KISS ve YAGNI prensipleridir. Bu prensipler, çevik yazılım (agile software) süreçlerinin de temelini oluşturur.
Bu prensipleri sadece ezbere bilmek yetmez; hangi durumda hangi prensibin önceliklendirileceğini doğru analiz etmek gerekir. Aşırı mühendislik (over-engineering) tuzağına düşmeden, projenin o anki ihtiyaçlarına en uygun, yalın ve ölçeklenebilir çözümü üretmek profesyonel bir yazılım standartları yaklaşımıdır.
DRY (Don't Repeat Yourself) - Kendini Tekrar Etme
DRY prensibi, sistem içindeki her bilgi veya işlev kırıntısının tek, net ve yetkili bir temsilciye sahip olması gerektiğini savunur. Kod tabanında aynı mantığın, algoritmanın veya veri yapısının birden fazla yerde kopyala-yapıştır yoluyla kullanılması en büyük temiz kod düşmanlarından biridir.
Kod tekrarı, sistemde bir değişiklik yapılmak istendiğinde her kopyanın tek tek güncellenmesini gerektirir. Bu durum gözden kaçan kopyaların kalmasına ve dolayısıyla sistem genelinde tutarsızlıklara ve kritik hatalara yol açar. DRY prensibini uygulamak için tekrarlanan mantıklar soyutlanmalı, ortak fonksiyonlar, yardımcı sınıflar (helper/utility classes) veya kütüphaneler haline getirilmelidir. Ancak "sahte tekrar" (accidental duplication) durumuna da dikkat edilmelidir; eğer iki farklı iş mantığı bugün aynı görünüyor ama gelecekte farklı yönlere evrilecekse, bunları zorla tek bir fonksiyona bağlamak DRY değil, aşırı bağımlılığa (tight coupling) neden olur.
KISS (Keep It Simple, Stupid) - Karmaşıklıktan Kaçının
Yazılım geliştiriciler olarak karmaşık sistemler tasarlamayı ve entelektüel gücümüzü göstermeyi sevebiliriz. Ancak en zor olanı, karmaşık bir problemi en basit şekilde çözmektir. KISS prensibi, sistemlerin olabildiğince basit tutulması gerektiğini söyler. Karmaşıklık, anlaşılmayı zorlaştırır, test etmeyi engeller ve hata payını artırır.
KISS prensibini uygulamak için:
Gereksiz tasarım desenleri (design patterns) ve soyutlamalardan kaçının.
Sadece o anki problemi çözecek en doğrudan yolu tercih edin.
Kodun okunabilirliğini azaltan akıllıca ama karmaşık "tek satırlık" (one-liner) kod yazma alışkanlığından vazgeçin.
YAGNI (You Aren't Gonna Need It) - Geleceği Tahmin Ederek Kod Yazmayın
Geliştiricilerin düştüğü en yaygın hatalardan biri, "gelecekte lazım olabilir" düşüncesiyle sisteme henüz ihtiyaç duyulmayan özellikler, sınıflar veya parametreler eklemektir. YAGNI prensibi, bu yaklaşımın tamamen karşısında durur ve "buna ihtiyacın olmayacak" der.
Geleceği tahmin ederek yazılan kodlar, proje üzerinde gereksiz bir yük oluşturur. Bu kodların yazılması, test edilmesi, belgelenmesi ve bakımının yapılması zaman alır. Üstelik gelecekte o ihtiyaç gerçekten doğduğunda, gereksinimler tahmin edilenden farklı olacağı için yazılan bu "öngörülü" kodlar genellikle çöpe atılır veya sistemi kısıtlar. En doğru yaklaşım, kod tabanını bugün sadece kesin olan ihtiyaçlar doğrultusunda, ancak gelecekteki olası değişikliklere kolayca uyum sağlayabilecek esneklikte tasarlamaktır.
Temiz Kod Kültürünü Ekibe ve Projeye Entegre Etmek
Temiz kod yazmak bireysel bir çabadan çok daha fazlasıdır; kurumsal bir kültürdür. Bir organizasyonda sadece bir geliştiricinin temiz kod yazması, projenin genel kalitesini kurtarmaya yetmez. Kalitenin sürekliliği için temiz kod felsefesinin tüm geliştirme ekibi tarafından benimsenmesi ve süreçlerin bir parçası haline getirilmesi gerekir.
Bu kültürü oluşturmak, şirketlerin teknoloji yatırımlarından maksimum verim almasını sağlar. Geliştirme süreçlerine dahil edilecek otomasyon araçları, kod incelemesi (code review) seansları ve sürekli iyileştirme yaklaşımları, yazılım kalitesini standart hale getirir.
Düzenli Refactoring (Kod Yeniden Yapılandırma) Süreçleri
Yazılım yaşayan bir organizmadır. Zamanla yeni gereksinimler eklenir, iş modelleri değişir ve başlangıçta temiz olan kod tabanı eskiyebilir veya bozulabilir. Refactoring, mevcut kodun dış davranışını (işlevselliğini) değiştirmeden, iç yapısını daha temiz, okunabilir ve bakımı kolay hale getirmek için yeniden yapılandırılması sürecidir.
Refactoring süreçlerinde "İzci Kuralı" (Boy Scout Rule) benimsenmelidir: "Bulduğun kamp yerini, bıraktığından daha temiz bul." Bir geliştirici kod üzerinde çalışırken, dokunduğu bölgedeki ufak bir düzensizliği (örneğin kötü bir isimlendirmeyi veya gereksiz bir yorumu) düzeltmeden o bölümü teslim etmemelidir. Bu mikro-refactoring adımları, kod kalitesinin zaman içinde düşmesini engeller. Daha büyük yapısal değişiklikler ise mutlaka kapsamlı bir birim test (unit test) koruması altında gerçekleştirilmelidir.
Katı Kod İnceleme (Code Review) Standartları Belirleme
Kod incelemesi (code review), yazılan kodun ana kod tabanına (main branch) birleştirilmeden önce ekipteki diğer geliştiriciler tarafından incelenmesi ve onaylanması sürecidir. Bu süreç, sadece hataları yakalamak için değil, aynı zamanda bilgi paylaşımını artırmak ve kod standartlarını korumak için en etkili yöntemdir.
Sağlıklı bir kod inceleme süreci için şu standartlar uygulanmalıdır:
Linter ve Formatter Kullanımı: Kodun girintileri, parantez kullanımları ve stil standartları gibi mekanik konular insan gözüyle incelenmemelidir. ESLint, Prettier, Black gibi statik analiz araçları CI/CD süreçlerine entegre edilerek bu kontroller otomatikleştirilmelidir.
Kişiselleştirmeden Uzak Durun: İncelemeler sırasında yapılan geri bildirimler kişiye değil, doğrudan koda yönelik olmalı; yapıcı, öğretici ve profesyonel bir dil kullanılmalıdır.
Küçük Parçalar Halinde İnceleme: Tek seferde binlerce satırlık kodları incelemek verimsizdir. Pull request (PR) boyutları küçük ve odaklanmış tutulmalıdır.
Temiz Kod Pratiklerinde Karşılaşılan Sık Hatalar ve Antipatternler
Temiz kod yazma yolculuğunda, sadece ne yapılması gerektiğini bilmek yeterli değildir. Sık yapılan hataları ve yazılım mühendisliğinde "antipattern" (karşıt desen) olarak adlandırılan hatalı yaklaşımları da tanımak gerekir. Bu hatalar genellikle başlangıçta kolaylık sağladığı düşünülen ancak projenin ilerleyen aşamalarında sistemi çıkmaza sokan pratiklerdir.
Özellikle junior/mid-level seviyesindeki geliştiriciler veya hızlı teslimat baskısı altındaki ekipler bu hatalara daha sık düşerler. Bu hataları erkenden fark etmek ve mimariyi korumak, projenin ömrünü uzatır.
Spagetti Kod ve Katmanlı Mimari Eksikliği
Spagetti kod, mantıksal katmanları belirlenmemiş, fonksiyonların ve sınıfların birbirine sıkı sıkıya bağlı (tightly coupled) olduğu, kontrol akışının karmaşık ve takip edilemez hale geldiği kod tabanlarını tanımlamak için kullanılan popüler bir terimdir. Spagetti kodun en temel sebebi, yazılım mimarisi kurallarına uyulmamasıdır.
Veritabanı işlemlerinin kullanıcı arayüzü (UI) kodlarının içinde yapılması, iş mantığının API denetleyicilerine (controllers) yığılması gibi durumlar bu karmaşayı tetikler. Bu durumdan kaçınmak için Clean Architecture, Domain-Driven Design (DDD) veya en azından klasik MVC (Model-View-Controller) gibi katmanlı mimariler tercih edilmeli, sorumluluklar kesin sınırlarla birbirinden ayrılmalıdır.
Sihirli Sayılar (Magic Numbers) ve Stringler
Kodun içinde doğrudan kullanılan ve neredeyse "sihirli" bir şekilde çalışan, ne anlama geldiği belli olmayan sayısal veya metinsel değerlere sihirli sayılar (magic numbers) denir. Bu değerler, gelecekte o değerin neyi ifade ettiğini anlamaya çalışan geliştiriciler için tam bir kabustur.
# Kötü Uygulama
def calculate_interest(balance):
# 0.05 değerinin ne olduğu belli değil
return balance * 0.05
# İyi Uygulama
ANNUAL_INTEREST_RATE = 0.05
def calculate_interest(balance):
return balance * ANNUAL_INTEREST_RATESihirli sayılardan kaçınmanın yolu, bu değerleri projenin başında anlamlı sabitler (constants) veya enums (numaralandırmalar) olarak tanımlamaktır. Böylece değer değiştiğinde sadece tek bir yerden güncelleme yapmak yeterli olacaktır.
Sonuç: Temiz Kod Tercih Değil, Profesyonel Bir Sorumluluktur
Yazılım geliştirme süreçlerinde temiz kod yazmak, projenin teslim süresini geciktiren veya bütçeyi artıran lüks bir hobi değildir. Aksine, bir yazılım projesinin uzun vadeli başarısını, sürdürülebilirliğini ve bakım maliyetlerini doğrudan belirleyen en temel profesyonel sorumluluktur. Başlangıçta kodu "hızlı ve kirli" yazmak kısa vadede zaman kazandırıyor gibi görünse de, orta ve uzun vadede projeyi tamamen durma noktasına getiren teknik borçları beraberinde getirir.
Bir işletme sahibi veya teknik karar verici olarak, yazılım ekiplerinizin temiz kod standartlarına uyumunu desteklemek ve süreçleri bu doğrultuda optimize etmek, şirketin teknoloji yatırımlarından alacağı geri dönüşü (ROI) en üst düzeye çıkaracaktır. Unutmayın ki, kod makine için sadece bir kez yazılır; ancak insanlar tarafından yüzlerce kez okunur ve geliştirilir. Sürdürülebilir ve ölçeklenebilir dijital ürünler inşa etmek, temiz kod felsefesini bir şirket kültürü haline getirmekten geçer.
Sıkça Sorulan Sorular
Temiz kod (clean code) nedir?
Temiz kod; yazılımcılar tarafından kolayca okunabilen, anlaşılabilen, test edilebilen ve bakımı zahmetsizce yapılabilen, evrensel standartlara uygun olarak yazılmış yazılım kodudur.
Teknik borç (technical debt) neden oluşur?
Teknik borç, genellikle hızlı teslimat yapmak amacıyla temiz kod standartlarından, test yazımından ve doğru mimari tasarımlardan ödün verilmesi sonucunda oluşur ve zamanla bakım maliyetini artırır.
DRY prensibi ne anlama gelir?
DRY (Don't Repeat Yourself) prensibi, kod tabanında aynı mantık veya işlevin birden fazla yerde kopyalanarak tekrarlanmaması gerektiğini, her bilginin tek bir merkezi yerde tanımlanmasını savunur.
KISS prensibi yazılımda nasıl uygulanır?
KISS (Keep It Simple, Stupid) prensibi, bir problemi çözerken olabildiğince basit, sade ve doğrudan yöntemlerin tercih edilmesini, gereksiz karmaşıklıktan ve aşırı mühendislikten kaçınılmasını söyler.
YAGNI prensibi nedir?
YAGNI (You Aren't Gonna Need It) prensibi, "gelecekte belki lazım olur" düşüncesiyle sisteme henüz ihtiyaç duyulmayan özelliklerin, kodların veya parametrelerin eklenmemesi gerektiğini belirten kuraldır.
Refactoring (kod yeniden yapılandırma) ne zaman yapılmalıdır?
Refactoring, mevcut kodun işlevselliği bozulmadan kalitesini artırmak için her geliştirme aşamasında (özellikle Boy Scout Rule doğrultusunda) ve düzenli planlanan teknik borç temizleme seanslarında yapılmalıdır.
Yorum satırları temiz kodda neden sakıncalı kabul edilir?
Yorum satırları genellikle kodun kötü yazıldığının bir itirafıdır; kod geliştikçe güncellenmedikleri için zamanla geliştiricileri yanlış yönlendiren ve kod kalabalığı yaratan unsurlara dönüşürler.
Kod incelemesi (code review) ekibe ne kazandırır?
Kod incelemesi, yazılan kodların kalitesini ve standartlara uyumunu artırırken, ekip üyeleri arasında teknik bilgi paylaşımını sağlar, hata oranını düşürür ve ortak kod sahipliğini pekiştirir.