Ana içeriğe geç

KISS İlkesi

Keep It Simple, Stupid (Basit Tut)

İngilizcesi
KISS Principle
Okunuşu
kis prinsıpıl
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/kiss-principle

Kısaca

KISS ilkesi, sistemlerin olabildiğince basit tutulduğunda en iyi çalıştığını, gereksiz karmaşıklıktan kaçınılması gerektiğini söyleyen tasarım yönergesidir.

KISS ilkesi nedir?

KISS, keep it simple, stupid ifadesinin kısaltmasıdır ve çoğu sistemin karmaşık hâle getirilmek yerine basit tutulduğunda en iyi çalıştığını söyler. İfade genellikle 1960'larda ortalama bir tamircinin temel aletlerle sahada onarabileceği jet tasarımlarını savunan uçak mühendisi Kelly Johnson'a atfedilir. Yazılımda bu, gerçek gereksinimleri karşılayan en doğrudan çözümü seçmek anlamına gelir.

KISS'i uygulamak; zekice yerine kolay okunan kod yazmak, yeni şeyler icat etmek yerine iyi bilinen araçları ve desenleri kullanmak, fonksiyonları küçük ve odaklı tutmak ve bir mimariye olabildiğince az hareketli parça eklemek demektir. Tek bir veritabanı ve bir monolit, çoğu zaman bir mikroservis, mesaj kuyruğu ve önbellek kümesinden daha basit kurulur ve çalıştırılır; bir ürünün yıllarca ihtiyaç duyduğu tek şey de bu olabilir. Daha basit tasarımın hatasını ayıklamak, test etmek, değiştirmek ve yeni bir ekip arkadaşına anlatmak genellikle daha kolaydır.

Işık düğmesi KISS'e iyi bir örnektir: tek bir işi vardır, herkes onu hemen anlar ve nadiren bozulur. Bunu, bir lambayı yakmak için uygulama, merkez ve ürün yazılımı güncellemeleri gerektiren akıllı bir aydınlatma sistemiyle karşılaştırın. Düğme gibi basit yazılımda da hataların saklanacağı daha az yer vardır.

KISS sıklıkla YAGNI ile karıştırılır. YAGNI, ihtiyaç duymadan özellik ya da soyutlama inşa etmemeyi söyler; KISS ise ne inşa ediyorsanız bunun çalışan en basit biçimde yapılmasını söyler. KISS, DRY ilkesiyle de çekişebilir, çünkü her tekrarı kaldırmak bazen tekrarlanan koddan daha zor anlaşılan soyutlamalar yaratır. Ayrıca basit, basitleştirilmiş demek değildir: hata yönetimi ya da güvenlik gibi gerçek gereksinimleri yok sayan bir tasarım basit değil, yalnızca eksiktir.

Önemli noktalar

  • KISS, keep it simple, stupid ifadesinin kısaltmasıdır.
  • Gerçek gereksinimleri karşılayan en doğrudan çözümü tercih edin.
  • Okunabilir kod zekice koddan iyidir ve daha az hareketli parça daha az arıza demektir.
  • YAGNI ihtiyacınız olmayanı inşa etmemekle ilgilidir; KISS basit inşa etmekle.
  • Basit olmak, hata yönetimi veya güvenlik gibi gereksinimleri yok saymak demek değildir.

Örnek

Aynı iş için aşırı karmaşık ve basit kodtypescript
// Overcomplicated: a class hierarchy and a registry just to format a price
abstract class Formatter { abstract format(value: number): string; }
class PriceFormatter extends Formatter {
  format(value: number) { return "$" + value.toFixed(2); }
}
const registry = new Map<string, Formatter>([["price", new PriceFormatter()]]);
const label1 = registry.get("price")!.format(9.5);

// Simple: a plain function does the same job
const formatPrice = (value: number) => "$" + value.toFixed(2);
const label2 = formatPrice(9.5); // "$9.50"

Sık sorulan sorular

KISS neyin kısaltmasıdır?

KISS genellikle keep it simple, stupid ifadesinin kısaltmasıdır. Keep it short and simple gibi daha yumuşak sürümler de kullanılır, ancak anlam aynıdır: gereksiz karmaşıklıktan kaçının.

KISS ile YAGNI arasındaki fark nedir?

YAGNI, gerçekten gerekene kadar bir şey inşa etmemenizi söyler. KISS ise gerçekten ihtiyaç duyduğunuz şeyi çalışan en basit biçimde inşa etmenizi söyler; dolayısıyla iki ilke birbirini tamamlar.

Kod fazla basit olabilir mi?

Kod, doğrulama, hata yönetimi ya da performans sınırları gibi gerçek gereksinimleri yok sayıyorsa fazla basitleştirilmiş olabilir. KISS'in amacı gerekli karmaşıklığı değil, gereksiz karmaşıklığı önlemektir.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar