はい、愚かなルールに対するあなたの不満を理解しています。私は次のような役に立たないコメントで多くのプログラムを読みました
x = x + 1; // add 1 to x
そして、私は自分自身に言います、それがプラス記号の意味です!うわー、私に言ってくれてありがとう、私はそれを知りませんでした。
しかし、そうは言っても、顧客は請求書を支払っています。したがって、彼らは彼らが欲しいものを与えます。私がカーディーラーで働いていて、顧客がピックアップトラックが欲しいと言った場合、私は彼が本当にピックアップトラックが必要かどうかについて彼と議論することはなく、彼がそれで運ぶと期待していることについて彼に質問しません。私は彼にピックアップトラックを売ります。
さて、顧客が彼が望んでいると言うものと彼が本当に必要とするものがあまりにも離れている場合があり、私は彼と問題を議論しようとするかもしれません。時にはこれは機能しますが、時には機能しません。最後に、私が彼の考えを変えることができないなら、私は彼が望むものを彼に与えます。彼が後で戻って来て、ああ、それが本当に私のビジネス要件を満たさなかったと言ったら、私たちは彼に最初にやるように言ったことをもっとやり遂げることができます。顧客とどの程度交渉できるかは、彼らがあなたの専門知識をどれだけ信頼しているか、あなたとの契約がどのように組織に適合しているか、率直に言って彼らがどれほど強健かによって決まります。
それは私次第だと仮定して、要件が不適切だと思ったために契約を失うことは非常にまれなケースです。
あなたの会社が交渉している人々は、この25%ルールを発明した人であるかもしれないし、そうでないかもしれないことを心に留めておいてください。それは彼らに上から課された規則かもしれません。
5つの可能な応答が表示されます。
1。これについて議論するように、上司またはクライアントと交渉している人を説得してください。これは何も達成しない可能性がありますが、試すことができます。
二。それを拒否します。これはおそらくあなたを解雇するか、会社があなたに同意した場合、契約を失う原因となります。これは非生産的なようです。
三。無駄なコメントを書いて、スペースを埋めます。コードの内容を繰り返すだけで、コードを変更できるプログラマーであれば2秒で見ることができるようなコメントです。このようなコメントをたくさん目にしました。数年前、私は会社で働いていました。そこでは、次のようなパラメーターをリストするすべての関数の前にコメントブロックを配置する必要がありました。
/*
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)
このようなコメントは最新の状態に保つ必要があるため、メンテナンスの負担になるという異議は無効です。真面目なプログラマーがそれらを見ることがないので、それらを最新に保つ必要はありません。それについて質問がある場合は、チームのすべてのメンバーに、無駄で冗長なコメントを無視する必要があることを明確にしてください。関数のパラメーターが何であるか、またはコード行が何をするのかを知りたい場合は、コードを読んで、無駄なコメントを見ないでください。
四。価値のない冗長なコメントを追加する場合は、それらを生成するプログラムを作成するのに時間をかける価値があるかもしれません。先行投資のようなものですが、今後の入力の束を節約できます。
私がこのビジネスを始めたとき、私が働いていた会社は「あなたのために文書を書いてください!すべてのプログラムの完全な文書!」と宣伝されたプログラムを使用しました。システムは、すべての変数に本質的に意味のない名前を付け、次に各変数に意味のある名前を与える表を用意する必要がありました。たとえば、これはCOBOLで機能しました。プログラムには次のような行があります。
MOVE IA010 TO WS124
そして、彼らは言った「ドキュメント」の行を生成します
COPY CUSTOMER NAME IN INPUT RECORD TO CUSTOMER-NAME IN WORKING STORAGE
とにかく、同じくらい価値のないドキュメントをかなり簡単に生成するプログラムを確実に作成できます。次のような行を読む
a=b+c
そしてコメントを生成する
// add b to c and save result in a
等。
五。愚かなルールを最大限に活用してください。有用で意味のあるコメントを書くようにしてください。ねえ、それは良い運動かもしれません。
ああ、ところで、あなたはいつでもメトリックをゲームにかけることができると付け加えてもいいでしょうか。
ある雇用主が、私たちが1週間に何行のコードを生成したかによって、プログラマの生産性を測定し始めると言ったことを思い出します。私たちが会議でこれを言われたとき、私は言った、素晴らしい!簡単にスコアを上げることができます。もう書く必要はありません
x=x+4;
代わりに次のように書きます:
x=x+1;
x=x+1;
x=x+1;
x=x+1;
ループ?忘れて、コードを10回コピーして貼り付けます。等。
したがって、ここで、コメントの行を数える場合は、各行を短くして次の行でアイデアを続けます。コメントの内容に変更がある場合は、既存のコメントを更新しないでください。日付を入力し、テキスト全体をコピーして、「更新日」と新しい日付を書きます。クライアントが質問した場合、履歴を維持する必要があると彼らに伝えます。などなど