Unix Felsefesi

Azer Koçulu’nun blogunu incelerken 2008 ylında yazmış olduğu bu yazıya rast geldim. Yazıda İngilizce alıntılanmış olan Eric S. Raymond’ın Unix Philosophy adlı metnini elimden geldiğince Türkçe’ye çevirdim:

  • Modülerite Kuralı: Birbirlerine temiz arayüzlerle bağlanan küçük parçalar yazın.
  • Anlaşılırlık Kuralı: Anlaşılır olmak akıllı olmaktan daha iyidir.
  • Birleşme Kuralı: Programlarınızı, başka programlarla bağlanacak şekilde tasarlayın.
  • Ayrılma Kuralı: Kuralları mekanizmadan ayırın; arayüzlerinizi(interface) sınıflarınızdan(class) ayırın.
  • Basitlik Kuralı: Basitliği hedefleyin. Sadece gereken yerlerde karmaşıklığa başvurun.
  • Cimrilik Kuralı: Sadece başka çözüm olmadığından emin olduğunuzda büyük programlar yazın.
  • Transparanlık Kuralı: İncelemeyi ve debug etmeyi kolaylaştıracak şekilde tasarım yapın.
  • Sağlamlık Kuralı: Sağlamlık, transparanlık ve basitliğin çocuğudur.
  • Temsil Kuralı: Bilgileri verilere indirgeyin. Böylece program mantığı basit ve sağlam olabilir.
  • Sürpriz Yapmama Kuralı: Arayüzünüzü tasarlarken en tahmin edilebilir şekilde tasarlayın.
  • Sessizlik Kuralı: Programın söyleyecek önemli bir şeyi yoksa, hiç bir şey söylememeli.
  • Tamir Kuralı: Hata yapacaksanız, elinizden geldiğince çabuk ve gürültülü yapın.
  • Ekonomi Kuralı: Programcı zamanı pahalıdır. Makine zamanına karşı programcı zamanını korumayı tercih edin.
  • Optimizasyon Kuralı: Cilalamadan önce prototip yapın. Optimize etmeden önce çalışır hale getirin. 
  • Çeşitlilik Kuralı: “Tek doğru yol” olduğuna dair fikirlere güvenmeyin.
  • Genişletilebilirlik Kuralı: Geleceği düşünerek tasarlayın. Çünkü gelecek, düşündüğünüzden daha yakın.

 92 Okunma

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir