Kural
Kaldır kalan Yapılacaklar/Düzeltilecekler yorumları
Çözülmemiş TODO ve Düzeltilecek yorumlar ,
eksik çalışmayı ki birikebilir birikebilecek zaman zamanla
Sorunları sorunları takip sorunları sorun izleme yerine bırakmak onları bırakmak bırakmak bırakmakyerine.
Desteklenen diller: 45+Giriş
TODO ve FIXME yorumları başlangıçta yararlı hatırlatmalar olarak ortaya çıkar, ancak kısa sürede kod tabanında kalıcı unsurlar haline gelir. Geçici bir not olarak düşünülmüş olan bu yorumlar, herkesin görmezden geldiği bir uyarı işareti haline gelir. Bu yorumlar, tamamlanmamış işleri, ertelenen kararları veya kimsenin düzgün bir şekilde takip etmediği bilinen sorunları gösterir. TODO yorumları içeren kodu yayınladığınızda, bir şeylerin yolunda olmadığını kabul etmiş olursunuz; ancak bunu düzeltmeye yönelik herhangi bir planınız yoktur.
Neden önemli?
Kodun bakım kolaylığı: TODO yorumları, kodun kullanıma hazır olup olmadığı ve eksiksizliği konusunda belirsizlik yaratır. Yeni ekip üyeleri, bu yorumların acil sorunları mı, yoksa artık kimsenin umursamadığı yıllar öncesine ait notları mı temsil ettiğini bilemez. TODO’lar ne kadar birikirse, kimse bunları o kadar az ciddiye alır; bu da kalite standartlarının bozulmasına yol açan “kırık pencereler etkisi”ni yaratır.
Teknik borç takibi: Yorumlarda gizli kalan sorunlar önceliklendirilmez, sorumlu atanmaz veya takip edilmez. Proje yönetim sisteminiz her şeyin tamamlandığını gösterirken, kod tabanında düzinelerce “bunu sonra düzelt” notu bulunur. Uygun bir takip sistemi olmadan, önemli sorunlar üretimde sorunlara yol açana kadar unutulur.
Güvenlik açısından etkileri: TODO yorumları bazen eksik güvenlik uygulamalarını veya bilinen güvenlik açıklarını işaret eder. Üretim kodunda “TODO: kimlik doğrulama kontrolü ekle” gibi bir yorum, bir güvenlik açığını tam olarak farkında olarak yayına aldığınız anlamına gelir. Bu işaretler, kodunuzu inceleyen saldırganların zayıf noktaları bulmasını kolaylaştırır.
Kod örnekleri
❌ Uygun değil:
async function processPayment(userId, amount) {
// TODO: Add fraud detection before processing
// FIXME: This doesn't handle concurrent payments
const user = await db.users.findById(userId);
if (user.balance < amount) {
throw new Error('Insufficient funds');
}
// TODO: Add transaction logging
user.balance -= amount;
await user.save();
return { success: true };
}
Neden yanlış: Üç kritik sorun (dolandırıcılık tespiti, eşzamanlılık, günlük kaydı) işaretlenmiş ancak çözülmemiştir; bu da bu işlevin eksik olarak yayınlandığını göstermektedir. Bu yorumlar, bilinen sorunları belgelemekte ancak bunların düzeltilmesine yönelik herhangi bir takip süreci ya da zaman çizelgesi içermemektedir.
✅ Uygunluk:
async function processPayment(userId, amount) {
await fraudDetection.check(userId, amount);
return await db.transaction(async (trx) => {
const user = await trx.users
.findById(userId)
.forUpdate();
if (user.balance < amount) {
throw new Error('Insufficient funds');
}
user.balance -= amount;
await user.save();
await trx.auditLog.create({
userId,
action: 'payment',
amount,
timestamp: new Date()
});
return { success: true };
});
}
Bunun önemi: Daha önce işaretlenmiş tüm sorunlar çözüldü. Dolandırıcılık tespiti devreye alındı, veritabanı işlemleri eşzamanlılığı yönetiyor ve denetim günlüğü tüm ödemeleri takip ediyor. Kod, eksikliklere ilişkin özür niteliğinde yorumlar içermeden tamamlandı.
Sonuç
Kodu üretim ortamına birleştirmeden önce TODO ve FIXME yorumlarını kaldırın. Çalışma tamamlanmamışsa, ya tamamlayın ya da proje yönetim sisteminizde uygun öncelik ve atama bilgileriyle takip edilebilir sorunlar oluşturun. Koddaki yorumlar proje planlaması açısından görünmez ve kod tabanınızın sürekli olarak tamamlanmamış gibi görünmesine neden olur.

