CleanLens kuralları

Eklenti paketiyle birlikte gelen kısa kural tablosu.

2 dk okuma1 bölüm

.clean-code-tracker.json içinde yapılandırılan 14 kural. Her kuralın enabled ve severity (low | medium | high | critical) alanları vardır; bazıları ayrıca limit veya options alır.

Kural kimliğiNe zaman raporlanırVarsayılan sınırJS/TSPython
maxFunctionLinesbir fonksiyon sınırdan uzunsa40 satır✅✅
maxFileLinesbir dosya sınırdan uzunsa400 satır✅✅
maxParametersbir fonksiyon sınırdan fazla parametre alıyorsa5✅✅
maxComplexitydöngüsel karmaşıklık sınırı aşıyorsa10✅✅ (yaklaşık)
maxNestingDepthkontrol akışı iç içeliği sınırdan derinse4✅✅ (girintiye göre)
detectDuplicateCodeaynı blok dosyalar arasında tekrarlanıyorsaoptions.minLines = 6✅✅
detectUnusedCodebir import / değişken / fonksiyon hiç kullanılmıyorsa—✅✅ (yalnızca import'lar)
requireClearVariableNamesdata1 veya x gibi belirsiz bir ad—✅✅
requireErrorHandlingtry olmadan başarısız olabilecek bir işlem—✅ (await)✅ (open / requests / …)
forbidEmptyCatchBlocksboş bir catch / except—✅✅ (pass)
forbidHardcodedSecretskodda bir API anahtarı veya parola—✅✅
forbidDebugStatementsconsole.log / debugger / print / breakpoint—✅✅
requireSingleResponsibilityçok metotlu bir sınıf veya hem uzun hem karmaşık bir fonksiyonoptions.maxMethods = 10✅✅
requireDocumentationForComplexCodeJSDoc / docstring olmadan fonksiyon karmaşıklığı ≥ eşikoptions.complexityThreshold = 15✅✅

Doğruluk hakkında notlar

  • requireErrorHandling, requireSingleResponsibility, requireDocumentationForComplexCode doğaları gereği yaklaşıktır ve yanlış pozitif üretebilir. Ekibiniz için gürültülüyse kapatın veya sınırlarını yükseltin.
  • Python analizörü girinti ve kalıp tabanlıdır (tam AST yok). İleride daha doğru analiz için planda olduğu gibi Ruff/Pylint entegre edilebilir.
  • JS/TS için detectUnusedCode tip bilgisine sahip değildir — yalnızca bariz durumları yakalar (tam olarak bir kez görünen bir ad).

Tüm ayrıntılar için bkz. 06 — Kural başvurusu.