通常、人が悪いコードに遭遇したときに最初に行うことは、犯人を探すことです。 それはすぐに個人的または部族の復endになります:
「どうしてそんなバカになれるの?」
「私の脳がこの一貫性と冒blからすべて爆発したという事実を誰が非難するのですか?」
「<会社名>を怒らせるのは誰!?」
これは間違っています。 これから始める必要はありません。 コードの貧弱な作成者を見つけて怒りを鎮める前に、コード自体をよく理解してください。
コードを理解する
多くの場合、プログラマーは確信しています。 とにかく人々は頑固ですが、プログラマーははるかにこの傾向があります。 彼らは厳格な声明で働いているので、そのような自信の起源は明らかです。
好奇心とそれを理解したいという欲求でコードに没頭してください。 それを書いた人に共感してください。 彼の代わりに自分を想像してください。 彼はあなたのようではありません。 おそらく、彼はまったく異なる懸念に悩まされています。 おそらく、彼の性格には、完璧主義と呼ばれるもののそのような層はありません。 大括弧の周りのスペースや、一見しただけで変数にランダムに名前を付けることは、彼の注目の的ではないかもしれません。 たぶん彼は彼自身の人生を持っています。
共感がなければ、コード自体についても、それがどこから来たのかも理解できません。 自称した知的優位性を口頭で吹きかけるだけです。
コードを本当に理解する
これらの横行するGOTOがどこから来たのか、たとえばブランチスイッチ、ダム名、見苦しいフォーマットを理解したいですか?
理解することは非常に簡単です。 コードがあなたのものであり、あなたがあなた自身の愚かさの言い訳を発明すると想像してください。 「急いだ」、「APIを理解していなかった」、「システムを完全に理解する機会がなかった」という鉄の議論がすぐに思い浮かびます。関連する。 コードの記述が不十分でした。 あなたはそれ以上ではありません。
元の問題を調べ、調査する
何千年もの間、監督なしで、そしてそれを導く手で発達した新しい種を研究する生物学者として自分を想像してください。 このビューには質問が必要です。 彼は調査が必要です。 もちろん、コードがあれば、作者に彼の意図について質問することができます。おそらくそれがあなたのすることです。
クレイジーに聞こえますが、そうです。 著者に行き、質問をすることができます。 ここで私はあなたに警告しなければなりません:これはあなたに屈辱の杯から飲むことを強いるでしょう。
しかし、正当な理由がない場合はどうでしょうか? すべてが怠iness、無知、悪意から来た場合はどうでしょうか?
学ぶ
はい、そうです。 問題が見つかったので、知恵を伝える必要性はあなたの肩にかかっており、だれもそのようなお粗末なコードに陥ることはありません。
あなたのエゴに時折あなたを導いてはいけません。 チーム全体に手紙を送らないでください。 屋根から悲鳴を上げないでください。 別のブログ記事を書かないでください。 主な間違いは、次の信念です。
- 人々はあなたが共有したい知恵の真珠についてまだ知りません
- 人々は座り、敬意を表する音に耳を傾けます。
そして、まだすべての人に手紙を書く必要がある場合。 屋根から叫ぶ必要がある場合。 あなたを悩ます何かについての記事を書く必要があるので、あなたの自我の意図を隠すためにf話とヒントを使うことを忘れないでください。 それでも、頑固なプログラマーにそれを読むように誘惑するためには、その名前を真剣に与える必要があります。 「悪いコードをどうするか」のようなものがちょうどいいでしょう。
真剣に、あなたも吸う
はい、ごめんなさい。 あなたは多くのものを吸います。 はい、はい、あなたは何かをよく知っていますが、他のすべての点でそれはひどいです。 他人をあなたと同じように理解していないことを非難しないでください(自分自身について考えてください)。 最後に、真実はあなたを怒らせることができます。 あなたは他のすべてのプログラマーと同じひよこです...そして実際、他のすべてのプログラマーです。
それで、屈辱の杯に......