一人で作業し、同僚が醜くて管理しにくく、書き直す必要があるコードを作成する場合は、次のようにします。
(a)もう一度見るときに、彼らに同意します。
(b)同意しませんか?
(a)の場合、問題は、自分でコードを記述したときにコードが完全に明確になっていないことです。ペアプログラミングだけがまともなコードを書くようにするので、「奇妙なもの」は、長い間悪いコードを書くことを伴わないタスクで機能することをお勧めします。おそらくテストコードを書くのは、それが少し厄介ではない傾向があるからです。その間、より良いコードを書くスキルの向上に取り組みます。おそらく、数か月前の自分のコードのレビューを行い、何が問題だったかをメモします。
(b)の場合、あなたが抱えている問題は、あなたのアイデアを表現するための互換性のない方法です。コードはあなたの基準では悪くないかもしれませんが、相互に理解できないので、企業の設定ではそれは悪いコードであることを意味します。ペアプログラミングとは、あなたが書いたものが3人に2人が理解できる妥協案であることを意味しますが、それは実際には解決策ではありません。あなたはお互いのコードについて最も難しいと思うことについていくつかの相互合意に達し、それをやめる必要があります。そして、皆さんは緊急に、「私はこのコードが好き」ではなく、「私の2人の同僚がこのコードを好きになる」という観点から「コード品質」について考え始める必要があります。
いずれにせよ、あなたは皆、できるだけ早く仕事を終わらせるためではなく、読むためにコードを書くことに取り組む必要があります。個人的には、当時の自分にとって意味のあることではなく、他の人が表現して理解できるような方法で表現しようと努めてきました。最終的にそれは習慣的になります。私がコードを書くとき、私は一般の聴衆のためにこの投稿を書いているのと同じように、一般の聴衆のためにそれを書きます。さて、私の個人的なプロジェクトでは、それは私のように考える人々の聴衆ですが、職場では私の同僚のように考える聴衆です。しかし、原則は、誰かがそれを読んでいるかのようにコードを書くことです。コンパイラではなく、彼らに自分自身を説明しているのです。
私のコードが世界で最高というわけではありませんが、私の最初の仕事は30人余りのプログラマーがいる会社であったことで恩恵を受けたと思います。そのため、さまざまな考え方を見ることができました。また、「してはいけないこと」のいくつかの例では、あるプログラマーが他の誰も簡単に理解できないことをしたため、間違いなく悪いと言えます。たった3人で、2対1の意見の違いが、1がフリークなのか、それとも合理的な少数派なのかは明らかではありません。私が何かをして、4、5人がそれをちらっと見て、すぐに「ええ、それをしないでください」と言うことができたとき、私はそれがそもそもただのばかげた考えであると本当に信じ始めました。
また、コードレビューの予算を立てることが許可されていない場合は、嘘をついて不正行為をすることをお勧めします。他の人のコードを大幅に書き直している場合は、とにかく時間をかけて効果的にレビューしていることになります。コードレビューの価値のある部分であるフィードバックを提供していないだけです。それで、レーダーの下でレビューをこっそりと入れてください-関数を1つか3つ書いて、それを同僚に見てもらい、それが彼らにとって意味があるかどうかについて即座にフィードバックを与えてください。モニターにコードを表示して、会話が終わったらすぐに会話するのに役立ちますが、「流れ」があるときに人の邪魔をしたり、長い議論に巻き込まれたりしないようにしてください。これはペアプログラミングではなく、正式なコードレビューでもありませんが、自分で何をしているのかを理解するのに役立つかもしれません。