- Tahun 2007, 2000 Baris Kode
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
Pada awal 1982, tim perangkat lunak Lisa sedang fokus pada tahap akhir pekerjaan agar perangkat lunak dapat dirilis dalam enam bulan ke depan.
-
Sebagian manajer menganggap melacak jumlah kode yang ditulis tiap insinyur setiap minggu adalah ide bagus, lalu membuat formulir yang harus diserahkan setiap hari Jumat, yang mencakup kolom untuk mengisi jumlah baris kode yang ditulis minggu itu.
-
Bill Atkinson, penulis Quickdraw sekaligus perancang utama antarmuka pengguna, menganggap jumlah baris kode adalah cara bodoh untuk mengukur produktivitas perangkat lunak, karena itu hanya mendorong orang menulis kode yang berantakan, membengkak, dan penuh kesalahan.
-
Atkinson baru-baru ini sedang mengoptimalkan mesin perhitungan area milik Quickdraw, dan menulis ulang sepenuhnya mesin area tersebut menggunakan algoritme yang lebih sederhana dan lebih umum, yang setelah beberapa penyesuaian membuat operasi area menjadi hampir 6 kali lebih cepat.
-
Penulisan ulang ini juga menghasilkan penghematan sekitar 2000 baris kode.
-
Pada tahap akhir pekerjaan optimisasi itu, tibalah saatnya untuk pertama kali mengisi formulir manajemen, dan ketika sampai di bagian jumlah baris kode, ia berpikir sejenak lalu menuliskan angka -2000.
-
Tidak jelas bagaimana reaksi para manajer, tetapi beberapa minggu kemudian mereka berhenti meminta Atkinson mengisi formulir tersebut, dan ia dengan senang hati menerimanya.
Pendapat GN⁺
- Artikel ini memberi pelajaran penting bahwa jumlah kode dalam pengembangan perangkat lunak tidak mencerminkan produktivitas yang sesungguhnya. Mengukur kinerja berdasarkan jumlah baris kode bukan hanya tidak efisien, tetapi kadang juga bisa menimbulkan efek sebaliknya.
- Contoh Bill Atkinson menekankan pentingnya optimisasi perangkat lunak. Mencapai kinerja yang lebih cepat dengan kode yang lebih sedikit adalah salah satu prinsip inti rekayasa perangkat lunak.
- Kisah ini membantu memahami mengapa praktik pengembangan modern, khususnya metodologi agile dan pendekatan seperti continuous integration/deployment (CI/CD), begitu penting. Metodologi ini lebih menghargai kualitas, kemudahan pemeliharaan, dan pengalaman pengguna daripada sekadar jumlah kode.
- Di industri, berbagai alat dan metrik digunakan untuk mengukur dan meningkatkan kualitas kode. Misalnya, alat analisis kode statis, proses code review, dan pelacakan test coverage.
- Artikel ini mengingatkan para pengembang betapa pentingnya berfokus pada kualitas ketimbang kuantitas kode, menghindari kompleksitas yang tidak perlu, dan mengoptimalkan kinerja.
1 komentar
Komentar Hacker News
Benturan soal jumlah baris kode antara Microsoft dan IBM
Tautan ke diskusi-diskusi sebelumnya
Menjadikan jumlah baris kode sebagai metrik produksi adalah hal yang sangat bodoh
order by, sambil mempertanyakan bagaimana dampak dari satu baris kode bisa diukur. Dibagikan pula pengalaman bahwa programmer yang buruk justru menulis lebih banyak kode, serta contoh ketika pengembang Microsoft menulis ulang 33.000 karakter kode IBM menjadi 220 karakter. Akibatnya, pekerjaan Microsoft malah dinilai "negatif".Pertanyaan sederhana kadang memberi dampak paling besar
Berbagi pengalaman optimasi kode di awal karier
Kurangnya arah yang jelas saat memulai proyek
Eksperimen pemikiran tentang menjadikan penghapusan kode sebagai metrik
Atkinson Dither karya Bill Atkinson
Pandangan tentang jumlah baris kode
Peran sebagai karyawan