「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > クリーンなコードを理解する: オブジェクトとデータ構造⚡

クリーンなコードを理解する: オブジェクトとデータ構造⚡

2024 年 8 月 24 日に公開
ブラウズ:135

Understanding Clean Code: Objects and Data Structures⚡

オブジェクトとデータ構造の区別を理解することは、クリーンなコードを記述する際に非常に重要です。

どちらもソフトウェア設計において適切な位置を占めていますが、異なる目的を果たし、さまざまなシナリオに最適です。

この記事では、オブジェクトとデータ構造の違いを詳しく説明し、JavaScript の例を使用して概念を説明しながら、それぞれをいつ使用するかを検討します。


?オブジェクトとは何ですか?

オブジェクトはオブジェクト指向プログラミング (OOP) の基礎です。

これらはデータと動作の両方をカプセル化します。つまり、情報を保持するだけでなく、その情報を操作する方法も提供します。

オブジェクトの背後にある中心的な考え方は、データをそのデータを操作する関数とバンドルして、オブジェクトの内部状態がそのメソッドを通じてのみ操作されるようにすることです。

オブジェクトの例:

class Rectangle {
  constructor(width, height) {
    this.width = width;
    this.height = height;
  }

  getArea() {
    return this.width * this.height;
  }

  getPerimeter() {
    return 2 * (this.width   this.height);
  }
}

const myRectangle = new Rectangle(5, 10);
console.log(myRectangle.getArea());       // Output: 50
console.log(myRectangle.getPerimeter());  // Output: 30

この例では、Rectangle クラスは、メソッド getArea() および getPerimeter() とともに、幅と高さのデータをカプセル化するオブジェクトです。

内部データ (幅と高さ) は保護されており、これらのメソッドを通じてのみアクセスまたは変更できます。


?データ構造とは何ですか?

データ構造とは対照的に、関連する動作を持たないデータのコレクションです。

データを保護するのではなく公開することに重点を置き、外部関数がアクセスして操作できるようにします。

データ構造とは、取得と変更が容易になる方法でデータを保存し、整理することです。

データ構造の例:

const rectangle = {
  width: 5,
  height: 10
};

function getArea(rectangle) {
  return rectangle.width * rectangle.height;
}

function getPerimeter(rectangle) {
  return 2 * (rectangle.width   rectangle.height);
}

console.log(getArea(rectangle));       // Output: 50
console.log(getPerimeter(rectangle));  // Output: 30

ここで、rectangle はデータ構造です。データを直接公開し、関数 getArea() および getPerimeter() がこの公開データに対して動作します。

オブジェクトとは異なり、カプセル化はなく、データは外部関数によって自由にアクセスおよび変更できます。


?オブジェクトを使用する場合

オブジェクトは、データとともに動作をカプセル化したい場合に最適です。

このカプセル化により、データへのアクセスと変更の方法を制御でき、保護層が提供されます。

オブジェクトは、さまざまなタイプのオブジェクトが、明確に定義されたインターフェイスを通じて相互にやり取りする必要がある状況にも適しています。

⚡ 次の場合にオブジェクトを使用します。

  • 内部状態を保護し、特定の方法でのみ変更できるようにする必要があります。
  • データに密接に関連する動作を定義したいと考えています。
  • あなたはカプセル化と抽象化が重要な複雑なシステムを扱っています。

?データ構造を使用する場合

データ構造は、動作を付加せずにデータを単に保存および整理する必要がある場合に役立ちます。

データへの簡単かつ直接アクセスが可能になるため、パフォーマンスとシンプルさが重要なシナリオで有益です。

⚡ 次の場合にデータ構造を使用します。

  • 外部関数が動作するようにデータを直接公開する必要があります。
  • デザインはシンプルかつわかりやすいものにしたいと考えています。
  • 動作はデータとは別のものであり、外部関数で実装できます。

重要なポイント?

  • オブジェクトはデータと動作をカプセル化し、内部状態を保護し、メソッドを通じて制御されたアクセスを提供します。
  • データ構造はデータを直接公開し、外部関数がカプセル化せずにデータを操作できるようにします。
  • カプセル化が必要で、動作をデータとバンドルしたい場合はオブジェクトを使用します。
  • 動作を付加せずにデータを保存する必要がある場合、およびシンプルさと直接アクセスが優先される場合は、データ構造を使用します。

オブジェクトとデータ構造の区別を理解することは、クリーンで保守可能なコードを記述するために不可欠です。

アプリケーションのニーズに基づいて適切なアプローチを選択することで、効率的で理解しやすいシステムを作成できます。

ハッピーコーディング!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/alisamir/ Understanding-clean-code-objects-and-data-structions-j4f?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3