ホームページ > バックエンド開発 > PHPチュートリアル > 知っておくべきプログラミングの 10 のヒント

知っておくべきプログラミングの 10 のヒント

ringa_lee
リリース: 2023-03-16 08:38:01
オリジナル
1550 人が閲覧しました

要約: 良いコードを書くには?優れたコードとは、読みやすく、理解しやすく、デバッグしやすく、変更しやすく、そして最も重要なことに、欠陥が少ないものと定義できます。明らかに、適切なコードを入力するには多くの時間がかかりますが、コードの保守と再利用に費やす時間とエネルギーが削減されるため、長期的にはこれは理にかなっています。これは、30 年のソフトウェア経験を持つ経験豊富なプログラマーによる要約です。一 なぜ良いコードをノックアウトするのでしょうか?

良いコードとは、読みやすく、理解しやすく、デバッグしやすく、変更しやすく、そして最も重要なことに欠陥が少ないものと定義できます。明らかに、適切なコードを入力するには多くの時間がかかりますが、コードの保守と再利用に費やす時間とエネルギーが削減されるため、長期的にはこれは理にかなっています。

実際、良いコードは再利用可能なコードであると考えることができます。これは、以下で説明する重要な原則の 1 つでもあります。コードは、プログラミング作業の短期的な目標に対して特定の機能を果たすだけかもしれませんが、コードを再利用しようとする人 (自分自身を含む) がいない場合、そのコードは何らかの点で不十分で欠陥があると言えます。複雑すぎるか、具体的すぎるか、別の状況下で壊れる可能性が非常に高いか、他のプログラマがあなたのコードを信頼しない可能性があります。

経験レベルに関係なく、次のヒントをコード (実験やプロトタイプを含む) に一貫して適用すれば、すぐに優れたコードを作成できるでしょう。

1. 単一責任の原則に従います

関数は、プログラマのライブラリの中で唯一最も重要な抽象形式です。再利用の機会が増えるほど、記述する必要のあるコードが減り、コードの信頼性が高まります。単一責任の原則に従う小さな関数は、再利用される可能性が高くなります。

2. 共有状態を最小限に抑える

ファイル スコープ変数であっても、オブジェクトのメンバー フィールドであっても、関数間の暗黙的な共有状態は最小限に抑える必要があります。これにより、必要な値をパラメーターとして明示的に渡すことが容易になります。関数が望ましい結果を達成することが明らかであれば、コードは理解しやすく、再利用しやすくなります。

ここから 1 つの結論が導き出されます。オブジェクトのメンバー変数よりも静的なステートレス変数を優先する必要があります。

3. ローカライズされた副作用

理想的な副作用 (コンソールへの出力、ログ記録、グローバル状態の変更、ファイル システム操作など) は、コード全体に分散するのではなく、別個のモジュールに配置する必要があります。機能的な副作用は、多くの場合、単一責任の原則に違反します。

4. 不変オブジェクトを好む

オブジェクトの状態がコンストラクターで一度設定され、再度変更されない場合は、正しく構築されると有効なままになるため、デバッグが非常に簡単になります。これは、ソフトウェア プロジェクトの複雑さを軽減する最も簡単な方法の 1 つです。

5. インターフェイスを多く使用し、クラスを使用しない

インターフェイス (または C++ のテンプレート パラメーターや概念) を受け入れる関数は、クラスで動作する関数よりも再利用可能です。

6. モジュールに適切な原則を適用する

ソフトウェア プロジェクトをより小さなモジュール (ライブラリやアプリケーションなど) に分割して、モジュールの再利用を実現します。モジュールの重要な原則は次のとおりです:

依存関係を最小限に抑える
  1. すべてのプロジェクトには単一の明確な関数が必要です
  2. 繰り返しはしないでください
  3. プロジェクトを小さく明確に保つように努める必要があります。
7. 継承を避ける

オブジェクト指向プログラミングでは、再利用性に関しては継承、特に仮想関数がアキレス腱となることがよくあります。クラスをオーバーライドするライブラリを使用して成功したことはほとんどありません。

8. 設計や開発と同じくらいテストしましょう

私はテスト駆動開発の大ファンではありませんが、テストコードを書き始めると、テストを書くときに自然と従うガイドラインがたくさんあります。また、エラーを早期に発見するのにも役立ちます。無駄なテストの作成を避けてください。優れたコーディングとは、より高度なテスト (たとえば、単体テストの統合テストや機能テスト) が欠陥をより効果的に示すことを意味します。

9. 代わりに手書きの標準ライブラリを好む

std::vector または std::string のより良いバージョンが表示されるまでにどれくらい時間がかかるかはわかりませんが、ほとんどの場合、時間と労力の無駄です。 。新しい場所にバグを持ち込んでいるという明白な事実を除いて。 (ヒント 10 を参照) 広く理解され、サポートされ、テストされているコードほど、他のプログラマーがコードを再利用する可能性は低くなります。

10. 新しいコードの作成を避ける

最も重要な点は、すべてのプログラマーが従うべきことです: 「

最良のコードは、書かれていないコードである

」 (最良のコードとは、書かれる必要のないコードである)コピーされました)。コードが増えれば増えるほど、欠陥も多くなり、バグを見つけて修正するのが難しくなります。

コード行を記述する前に、必要なことをすでに実行しているツール、関数、またはライブラリがあるかどうかを自問してください。別の既存の関数を呼び出すのではなく、この関数を自分で実装する必要があるでしょうか?
まとめ
プログラミングは芸術形式やスポーツのようなものであり、継続的な練習と他の人からの継続的な学習を通じてのみ、コードの品質を継続的に向上させることができ、より効率的なプログラマーになることができます。

以上が知っておくべきプログラミングの 10 のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート