検索
ホームページphp教程php手册より良いコードを書くか、それともより少ないコードを書くか?

まずは興味深い議論を見てみましょう:


引用

私は生徒たちに、より良いコメントを書くことよりも、より良いコードを書くことに全力を尽くしてもらいたいと思っています。 ——Uncle Bob Martin (デザインパターンとアジャイル開発の先駆者、『Clean Code』の著者)

私は学生には「より良い」コードを書くよりも、少ないコードを書くことを望んでいます。 ——ボブ・マーシャル

やるべきではないことを非常に効率的に行うことほど無駄なことはありません。 ——ピーター・ドラッカー



これは、「より良いコードを書くこと」と「より少ないコードを書くこと」についての議論を引き起こしました。


良い妥協策は、より少ないコードでより良いコードを書くことです。コードの質や量は、コードの行数やその他の愚かなことによって測定されるのではなく、主に意味のあるコードによって測定されます。この議論の「コードを少なくする」側は、コードをできるだけコンパクトにすること、重複を避けることなどに関係するのではなく、意味がある限り、コードをできるだけ少なくするかまったく書かないことに関係しています。

何をすべきか、何をすべきでないかを決定することに重点を置くべきでしょうか、それともソフトウェア開発スキルの向上に努めるべきでしょうか?

いずれにせよ、文脈なしにこの質問に合理的に答えることは誰にもできません。以下で個別に説明します。




より良いコード

これは開発者の観点から見たものです。ほとんどの中規模および大規模のソフトウェア開発会社では、開発者とプロダクト マネージャーまたは製品所有者との間に直接のつながりがほとんどなく、マネージャーは製品がどのように構築されるかについてほとんどまたはまったく知識がありません。

もちろん、開発者として、特定の機能の構築について意見を共有することはできますし、共有すべきですが、多くの場合、適切な判断を下すのに十分な情報を持っている可能性は低いでしょう。たとえば、あるクソ機能は追加すべきではないと私が考えている場合、たとえ私が正しくても、顧客がそれを要求した場合、私の意見が採用される可能性は非常に低いでしょう。もちろん、それが完全に正しいわけではありません。顧客に考えを変えるよう説得することはできますが、それはまれです。

あらゆる詳細が事前に解決され、内部の政治的理由によりクライアント側の誰も何も変更したがらなかった大規模な契約プロジェクトに携わったことがあれば、私が何を言っているのかわかるでしょう。このような会社で働いたことがないなら、あなたは幸運です。

この場合、コードを減らすよりも、より良いコードを構築することに重点を置いたほうがよいでしょう。なぜなら、コードが少ないことに意味があるのか​​を言うのは難しいからです。

コードを少なくします

これはプロダクトマネージャーの視点からの意見です。彼らにとって、主な焦点は、より少ないコードを構築することにあるべきです。はい、彼らがコードを書かないことは知っていますが、それでもそれが彼らの主な目標であるはずです。

製品マネージャーは、どの機能が製品に価値をもたらし、どの機能がそうでないのかを把握する必要があります。通常、顧客が望む機能、コスト、不要な機能、無駄なコードなどについて顧客と話し合うのに適しています。

開発者としてのリーダーは、より多くの価値を生み出すか、無駄を減らし、より少ないコードの構築に集中することを望んでいます。もちろん、より良いコードを書くか、より少ないコードを書くかを選択するのは自由ですが、後者を選択する方が賢明だと思われます。同時に、作業効率は完了する作業に大きく依存するため、問題を解決するために大量のコードを使用するのではなく、より少ない量のコードを使用してより多くの機能を完了し、これらのコードの品質に重点を置く必要があります。 。

この議論に明確な答えがないことは明らかです。プロダクト マネージャーの観点からは Peter Drucker の観点を、開発者の観点からは Bob Martin の観点を推奨します。

英語原文: Code Better or Code Less?



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境