Joel Test'te 11 puan alan bir şirkette çalışıyorum - en azından kağıt üzerinde.
Bununla birlikte, uygulamada, hiçbir şey beklendiği kadar iyi çalışmaz ve proje yarım aydır DEFCON 1'de . Şimdi, akranlarımın çoğu Pazar günü akşam 6'da eve dönebilirlerse mutlu olurlar.
Çalışmama beni etkileyen en iyi uygulamalardan biri statik analiz araçlarının kullanılmasıdır. Proje hem gcc -Wall uyarılarını hem de özel ve çok pahalı bir "C / C ++" aracını takip ediyor.
Gcc uyarıları, gerçek (çoğu zaman rahatsız edici ise) hatalara işaret etmekten daha sık yapılır.
Ancak, tescilli araçlar, örtülü kastlar ve bir dizgi değişmez boyutu gibi şeyleri listeler. Örtülü yayınlar da stil kitaplarında kara listeye alınır.
Standart uygulama, insanların her bir uyarıyı kapatmak için baskı altında olmasıdır. Bunun ağırlıklı olarak yanlış pozitif olan uyarıları hariç tuttuğunu unutmayın, sorun bu değildir.
Sonuç:
- İnsanlar süreçteki gerçek sorunlu tür uyumsuzluklarını gizleyen her rvalue ve argümana tip dökümleri ekler.
- İnsanlar bir hata ile ortaya çıkar veya farklı bir sorunlu dil özelliği kullanırlar. (Sizeof yerine strlen, strcpy yerine strncpy vb.)
- Uyarılar susturulur.
- Hata raporları yayınlanmaya başlar.
Ana nokta, orijinal kodun dil yetenekleri içinde güvenli oynayan insanlar tarafından çalışılması ve yazılması, ancak düzeltmelerin yapılmamasıydı.
Şimdi, bu şirketin kurtarılabileceğini sanmıyorum. Ancak, "pro" araçlarını kullanmak için daha iyi, tercihen çalışan bir yol olup olmadığını veya gelecekte karar verecek olan ben olursam bunları tamamen kullanmaktan kaçınmam gerekip gerekmediğini bilmek istiyorum.
Tüm programcıların hata yapamayan dahiler olduğunu varsaymayan bir çözüm. Çünkü eğer öyleyse, ilk etapta araçları kullanmaya gerek yoktur.