- 2007, 2000 satır kod
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
1982'nin başlarında Lisa yazılım ekibi, yazılımı önümüzdeki 6 ay içinde yayımlayabilmek için son aşama çalışmalara yoğunlaşmıştı.
-
Yöneticilerden bazıları, her mühendisin her hafta yazdığı kod miktarını takip etmenin iyi bir fikir olduğunu düşündü ve her cuma teslim edilmesi gereken bir form hazırladı; bu formda o hafta yazılan kod satırı sayısının girileceği bir alan da vardı.
-
Quickdraw'un yazarı ve ana kullanıcı arayüzü tasarımcısı olan Bill Atkinson, kod satırı sayısının yazılım üretkenliğini ölçmek için saçma bir yöntem olduğunu düşünüyordu; bunun yalnızca dağınık, şişirilmiş ve hatalı kod yazmayı teşvik ettiğine inanıyordu.
-
Atkinson kısa süre önce Quickdraw'un bölge hesaplama mekanizmasını optimize etmek üzerinde çalışıyordu ve daha basit, daha genel bir algoritma kullanarak bölge motorunu baştan sona yeniden yazdı; birkaç ince ayardan sonra bu değişiklik bölge işlemlerini neredeyse 6 kat hızlandırdı.
-
Bu yeniden yazım çalışması aynı zamanda yaklaşık 2000 satır kod tasarrufu sağlamış oldu.
-
Optimizasyon çalışmasının son aşamasında yönetim formunu ilk kez doldurma zamanı geldiğinde, kod satırı sayısı bölümüne geldi, kısa bir süre düşündü ve oraya -2000 sayısını yazdı.
-
Yöneticilerin buna tam olarak nasıl tepki verdiği bilinmiyor, ancak birkaç hafta daha geçtikten sonra Atkinson'dan form doldurmasını istemeyi bıraktılar ve o da buna memnuniyetle uydu.
GN⁺ görüşü
- Bu yazı, yazılım geliştirmede kod miktarının gerçek üretkenliği göstermediğine dair önemli bir ders veriyor. Performansı kod satırı sayısına göre ölçmenin yalnızca verimsiz değil, bazen ters etki yaratabileceğini de gösteriyor.
- Bill Atkinson örneği, yazılım optimizasyonunun önemini vurguluyor. Daha az kodla daha hızlı performans elde etmek, yazılım mühendisliğinin temel ilkelerinden biridir.
- Bu hikâye, modern geliştirme pratiklerinin, özellikle çevik metodolojiler ile sürekli entegrasyon/dağıtım (CI/CD) gibi yaklaşımların neden önemli olduğunu anlamaya yardımcı oluyor. Bu metodolojiler, kod miktarından çok kaliteye, bakım yapılabilirliğine ve kullanıcı deneyimine değer verir.
- Sektörde kod kalitesini ölçmek ve iyileştirmek için çeşitli araçlar ve metrikler kullanılır. Örneğin statik kod analizi araçları, kod inceleme süreçleri ve test kapsamı takibi buna dahildir.
- Bu yazı, geliştiricilere kod miktarından çok kaliteye odaklanmanın, gereksiz karmaşıklıktan kaçınmanın ve performansı optimize etmenin ne kadar önemli olduğunu hatırlatıyor.
1 yorum
Hacker News görüşleri
Microsoft ve IBM'in kod satırı sayısı çatışması
Önceki tartışma bağlantıları
Kod satırı sayısını üretim metriği yapmak son derece saçma
order byile 3 yıllık bir hatayı gidermekten söz edilerek, tek bir satırın etkisinin nasıl ölçülebileceği sorgulanıyor. Kötü programcıların daha fazla kod yazdığına dair deneyimler paylaşılıyor ve bir Microsoft geliştiricisinin IBM'in 33.000 karakterlik kodunu 220 karaktere yeniden yazdığı bir örnek anlatılıyor. Bunun sonucunda Microsoft'un yaptığı işin "negatif" değerlendirildiği bir durum ortaya çıktığı söyleniyor.Basit bir soru bazen en büyük etkiyi yaratır
Kariyerin başlarında yaşanan kod optimizasyonu deneyimi
Proje başlangıcında net yön eksikliği
Kodu silmeyi metrik yapmak üzerine düşünce deneyi
Bill Atkinson'ın Atkinson Dither'ı
Kod satırı sayısına bakış
Çalışan olarak rol