まずは興味深い議論を見てみましょう:
引用
私は生徒たちに、より良いコメントを書くことよりも、より良いコードを書くことに全力を尽くしてもらいたいと思っています。 ——Uncle Bob Martin (デザインパターンとアジャイル開発の先駆者、『Clean Code』の著者)
私は学生には「より良い」コードを書くよりも、少ないコードを書くことを望んでいます。 ——ボブ・マーシャル
やるべきではないことを非常に効率的に行うことほど無駄なことはありません。 ——ピーター・ドラッカー
これは、「より良いコードを書くこと」と「より少ないコードを書くこと」についての議論を引き起こしました。
良い妥協策は、より少ないコードでより良いコードを書くことです。コードの質や量は、コードの行数やその他の愚かなことによって測定されるのではなく、主に意味のあるコードによって測定されます。この議論の「コードを少なくする」側は、コードをできるだけコンパクトにすること、重複を避けることなどに関係するのではなく、意味がある限り、コードをできるだけ少なくするかまったく書かないことに関係しています。
何をすべきか、何をすべきでないかを決定することに重点を置くべきでしょうか、それともソフトウェア開発スキルの向上に努めるべきでしょうか?
いずれにせよ、文脈なしにこの質問に合理的に答えることは誰にもできません。以下で個別に説明します。
より良いコード
これは開発者の観点から見たものです。ほとんどの中規模および大規模のソフトウェア開発会社では、開発者とプロダクト マネージャーまたは製品所有者との間に直接のつながりがほとんどなく、マネージャーは製品がどのように構築されるかについてほとんどまたはまったく知識がありません。
もちろん、開発者として、特定の機能の構築について意見を共有することはできますし、共有すべきですが、多くの場合、適切な判断を下すのに十分な情報を持っている可能性は低いでしょう。たとえば、あるクソ機能は追加すべきではないと私が考えている場合、たとえ私が正しくても、顧客がそれを要求した場合、私の意見が採用される可能性は非常に低いでしょう。もちろん、それが完全に正しいわけではありません。顧客に考えを変えるよう説得することはできますが、それはまれです。
あらゆる詳細が事前に解決され、内部の政治的理由によりクライアント側の誰も何も変更したがらなかった大規模な契約プロジェクトに携わったことがあれば、私が何を言っているのかわかるでしょう。このような会社で働いたことがないなら、あなたは幸運です。
この場合、コードを減らすよりも、より良いコードを構築することに重点を置いたほうがよいでしょう。なぜなら、コードが少ないことに意味があるのかを言うのは難しいからです。
コードを少なくします
これはプロダクトマネージャーの視点からの意見です。彼らにとって、主な焦点は、より少ないコードを構築することにあるべきです。はい、彼らがコードを書かないことは知っていますが、それでもそれが彼らの主な目標であるはずです。
製品マネージャーは、どの機能が製品に価値をもたらし、どの機能がそうでないのかを把握する必要があります。通常、顧客が望む機能、コスト、不要な機能、無駄なコードなどについて顧客と話し合うのに適しています。
開発者としてのリーダーは、より多くの価値を生み出すか、無駄を減らし、より少ないコードの構築に集中することを望んでいます。もちろん、より良いコードを書くか、より少ないコードを書くかを選択するのは自由ですが、後者を選択する方が賢明だと思われます。同時に、作業効率は完了する作業に大きく依存するため、問題を解決するために大量のコードを使用するのではなく、より少ない量のコードを使用してより多くの機能を完了し、これらのコードの品質に重点を置く必要があります。 。
この議論に明確な答えがないことは明らかです。プロダクト マネージャーの観点からは Peter Drucker の観点を、開発者の観点からは Bob Martin の観点を推奨します。
英語原文: Code Better or Code Less?