Saya bekerja di perusahaan yang mendapat skor 11 pada Tes Joel - setidaknya di atas kertas.
Dalam praktiknya, bagaimanapun, tidak ada yang bekerja sebaik yang diharapkan, dan proyek telah di DEFCON 1 selama setengah tahun. Sekarang, sebagian besar teman saya senang jika mereka bisa pulang pukul 6 sore - pada hari Minggu.
Salah satu praktik yang tampaknya baik yang menurut saya tidak berfungsi adalah penggunaan alat analisis statis. Proyek ini melacak gcc -Wall peringatan dan alat "C / C ++" milik dan sangat mahal .
Peringatan Gcc lebih sering menunjukkan bug nyata (jika sebagian besar tidak ofensif).
Namun, alat-alat yang dipatenkan mencantumkan hal-hal seperti gips implisit dan ukuran string literal. Para pemain implisit juga masuk daftar hitam di stylebook mereka.
Praktik standar adalah bahwa orang ditekan untuk membuat setiap peringatan diam. Perhatikan bahwa ini mengecualikan peringatan yang sebagian besar positif palsu, ini bukan masalahnya.
Hasilnya adalah:
- Orang menambahkan tipe gips ke setiap nilai dan setiap argumen menyembunyikan ketidakcocokan tipe nyata yang bermasalah dalam proses.
- Orang-orang diperkenalkan oleh satu bug, atau menggunakan fitur bahasa bermasalah yang berbeda. (Strlen bukannya sizeof, strncpy, bukan strcpy, dll.)
- Peringatan dibungkam.
- Laporan bug mulai bergulir.
Poin utama adalah kode asli berfungsi dan ditulis oleh orang-orang yang bermain aman dalam kemampuan bahasa mereka sedangkan perbaikannya tidak.
Sekarang, saya tidak berpikir perusahaan ini bisa diselamatkan. Namun, saya ingin tahu apakah ada cara yang lebih baik, lebih baik bekerja, untuk menggunakan alat "pro" atau jika saya harus menghindari menggunakannya bersama-sama jika saya yang membuat keputusan di masa depan.
Sebuah solusi yang tidak menganggap semua programmer adalah genius yang tidak bisa berbuat salah. Karena yah, jika memang demikian, maka tidak perlu menggunakan alat di tempat pertama.