Ya, saya mengerti frustrasi Anda dengan aturan konyol. Saya sudah membaca banyak program dengan komentar tidak berguna seperti
x = x + 1; // add 1 to x
Dan saya berkata pada diri saya sendiri, Jadi ITULAH arti tanda plus itu !! Wow, terima kasih sudah memberi tahu saya, saya tidak tahu itu.
Namun demikian, pelanggan membayar tagihan. Karena itu, Anda memberi mereka apa yang mereka inginkan. Jika saya bekerja di sebuah dealer mobil dan seorang pelanggan mengatakan dia menginginkan sebuah truk pickup, saya tidak akan berdebat dengannya tentang apakah dia benar-benar membutuhkan truk pickup dan menanyai dia tentang apa yang dia harapkan untuk diangkut. Saya akan menjualnya truk pickup.
Oke, ada saat-saat ketika apa yang diinginkan pelanggan dan apa yang benar-benar dia butuhkan begitu jauh sehingga saya mencoba membahas masalah itu dengannya, mungkin meyakinkannya untuk menyetujui sesuatu yang lebih rasional. Kadang ini berhasil, kadang tidak. Pada akhirnya, jika aku tidak bisa berubah pikiran, aku memberikan apa yang dia inginkan. Jika dia kembali lagi nanti dan berkata, Oh, itu benar-benar tidak memenuhi persyaratan bisnis saya, maka kita dapat meminta bayaran lebih banyak untuk melakukan apa yang kita suruh dia lakukan pertama kali. Seberapa banyak Anda dapat bernegosiasi dengan pelanggan tergantung pada seberapa besar mereka memercayai keahlian Anda, bagaimana kontrak mereka dengan Anda cocok dengan organisasi, dan, jujur saja, seberapa keras kepala mereka.
Ini akan menjadi kasus yang sangat langka di mana, dengan asumsi itu terserah saya, saya akan kehilangan kontrak karena saya pikir persyaratannya salah dipahami.
Ingatlah bahwa orang yang dinegosiasikan dengan perusahaan Anda mungkin atau mungkin bukan orang yang menemukan aturan 25% ini. Ini bisa menjadi aturan yang dikenakan pada mereka dari atasan.
Saya melihat lima kemungkinan tanggapan:
Satu. Yakinkan bos Anda atau siapa pun yang sedang bernegosiasi dengan klien untuk berdebat tentang hal ini. Mustahil ini tidak menghasilkan apa-apa, tetapi Anda bisa mencobanya.
Dua. Menolak melakukannya. Ini mungkin akan membuat Anda dipecat, atau jika perusahaan setuju dengan Anda, menyebabkan Anda kehilangan kontrak. Ini sepertinya tidak produktif.
Tiga. Tulis komentar tidak berguna untuk mengisi ruang, jenis komentar yang hanya mengulangi apa yang ada dalam kode dan bahwa setiap programmer yang mampu memodifikasi kode dapat melihat dalam 2 detik. Saya telah melihat banyak komentar seperti ini. Bertahun-tahun yang lalu saya bekerja untuk sebuah perusahaan di mana kami diminta untuk menempatkan blok komentar di depan setiap fungsi yang mencantumkan parameter, seperti:
/*
GetFoo function
Parameters:
name: String, contains name
num: int, the number
add_date: date, the date added
Returns:
foo code: int
*/
int GetFoo(String name, int num, Date add_date)
Keberatan bahwa komentar tersebut adalah beban pemeliharaan karena Anda harus tetap memperbaruinya tidak valid. Tidak perlu memperbarui mereka karena tidak ada programmer serius yang akan melihatnya. Jika ada pertanyaan tentang itu, pastikan untuk menjelaskan kepada semua anggota tim bahwa komentar yang tidak berguna dan berlebihan harus diabaikan. Jika Anda ingin tahu apa parameter suatu fungsi atau apa yang dilakukan oleh baris kode, baca kodenya, jangan lihat komentar yang tidak berguna.
Empat Jika Anda akan menambahkan komentar tidak berguna yang berlebihan, mungkin ada baiknya Anda menulis program untuk menghasilkannya. Sesuatu investasi di muka, tetapi bisa menghemat banyak mengetik di jalan.
Kembali ketika saya pertama kali memulai dalam bisnis ini, sebuah perusahaan tempat saya bekerja menggunakan program yang diiklankan sebagai "Menulis dokumentasi Anda untuk Anda! Dokumentasi lengkap untuk setiap program!" Sistem mengharuskan kami memberikan semua variabel pada dasarnya nama yang tidak berarti dan kemudian memiliki tabel yang memberikan nama yang bermakna untuk setiap variabel, jadi pada dasarnya yang dilakukan "dokumentasi otomatis" adalah mengganti nama yang tidak berarti yang memaksa kami untuk menggunakan dengan nama yang bermakna. Jadi misalnya - ini bekerja dengan COBOL - Anda akan memiliki garis dalam program Anda yang mengatakan
MOVE IA010 TO WS124
dan mereka akan menghasilkan garis "dokumentasi" yang mengatakan
COPY CUSTOMER NAME IN INPUT RECORD TO CUSTOMER-NAME IN WORKING STORAGE
Bagaimanapun, orang pasti bisa menulis sebuah program untuk menghasilkan dokumentasi yang sama tidak berharga dengan cukup mudah. Baca garis seperti
a=b+c
dan menghasilkan komentar
// add b to c and save result in a
Dll
Lima. Buat yang terbaik dari aturan konyol. Cobalah untuk menulis komentar yang bermanfaat dan bermakna. Hei, ini bisa menjadi latihan yang bagus.
Oh, omong-omong, bolehkah saya menambahkan bahwa Anda selalu bisa memainkan metrik.
Saya ingat ketika seorang majikan mengatakan bahwa mereka akan mulai mengukur produktivitas pemrogram dengan berapa banyak baris kode yang kami hasilkan per minggu. Ketika kami diberitahu hal ini di sebuah rapat, saya berkata, Hebat! Saya dapat dengan mudah meningkatkan skor saya. Tidak ada lagi tulisan
x=x+4;
Sebagai gantinya saya akan menulis:
x=x+1;
x=x+1;
x=x+1;
x=x+1;
Loop? Lupakan, saya akan menyalin dan menempelkan kode sepuluh kali. Dll
Jadi di sini, jika mereka akan menghitung baris komentar, buat setiap baris pendek dan lanjutkan ide pada baris berikutnya. Jika ada perubahan pada komentar, jangan perbarui komentar yang ada. Masukkan tanggal di atasnya, lalu salin seluruh teks dan tulis "Diperbarui" dan tanggal baru. Jika klien mempertanyakannya, beri tahu mereka bahwa Anda perlu menjaga riwayatnya. Dll.