"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comprendre le code propre : objets et structures de données⚡

Comprendre le code propre : objets et structures de données⚡

Publié le 2024-08-24
Parcourir:325

Understanding Clean Code: Objects and Data Structures⚡

Comprendre la distinction entre les objets et les structures de données est crucial lors de l'écriture de code propre.

Les deux ont leur place dans la conception de logiciels mais servent des objectifs différents et conviennent mieux à divers scénarios.

Dans cet article, nous aborderons les différences entre les objets et les structures de données, et explorerons quand utiliser chacun d'eux, à l'aide d'exemples JavaScript pour illustrer les concepts.


? Que sont les objets ?

Les objets constituent le fondement de la programmation orientée objet (POO).

Ils encapsulent à la fois les données et le comportement, ce qui signifie qu'ils contiennent non seulement des informations, mais fournissent également des méthodes pour interagir avec ces informations.

L'idée principale derrière les objets est de regrouper les données avec les fonctions qui opèrent sur ces données, garantissant que l'état interne d'un objet est manipulé uniquement via ses méthodes.

Exemple d'objet :

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

Dans cet exemple, la classe Rectangle est un objet qui encapsule les données de largeur et de hauteur, ainsi que les méthodes getArea() et getPerimeter().

Les données internes (largeur et hauteur) sont protégées et ne peuvent être consultées ou modifiées que par ces méthodes.


? Que sont les structures de données ?

Les structures de données, en revanche, sont des collections de données sans aucun comportement associé.

Ils se concentrent sur l'exposition des données plutôt que sur leur protection, les rendant accessibles aux fonctions externes pour les manipuler.

Les structures de données consistent davantage à stocker et à organiser les données de manière à faciliter leur récupération et leur modification.

Exemple de structure de données :

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

Ici, le rectangle est une structure de données. Il expose directement ses données et les fonctions getArea() et getPerimeter() opèrent sur ces données exposées.

Contrairement aux objets, il n'y a pas d'encapsulation et les données peuvent être librement consultées et modifiées par n'importe quelle fonction externe.


? Quand utiliser des objets

Les objets sont idéaux lorsque vous souhaitez encapsuler un comportement avec les données.

Cette encapsulation vous permet de contrôler la manière dont les données sont accessibles et modifiées, offrant ainsi une couche de protection.

Les objets conviennent également aux situations dans lesquelles différents types d'objets doivent interagir les uns avec les autres via des interfaces bien définies.

⚡ Utilisez des objets lorsque :

  • Vous devez protéger l'état interne et vous assurer qu'il ne peut être modifié que par des méthodes spécifiques.
  • Vous souhaitez définir un comportement étroitement lié aux données.
  • Vous travaillez avec un système complexe où l'encapsulation et l'abstraction sont importantes.

? Quand utiliser les structures de données

Les structures de données sont utiles lorsque vous devez simplement stocker et organiser des données sans attacher de comportement.

Ils permettent un accès facile et direct aux données, ce qui peut être bénéfique dans les scénarios où la performance et la simplicité sont essentielles.

⚡ Utilisez des structures de données lorsque :

  • Vous devez exposer les données directement pour que les fonctions externes puissent fonctionner.
  • Vous souhaitez que le design reste simple et direct.
  • Le comportement est distinct des données et peut être implémenté dans des fonctions externes.

Points clés à retenir ?

  • Les objets encapsulent les données et les comportements, protégeant l'état interne et fournissant un accès contrôlé via des méthodes.
  • Les structures de données exposent les données directement, permettant aux fonctions externes d'opérer dessus sans aucune encapsulation.
  • Utilisez des objets lorsque vous avez besoin d'une encapsulation et que vous souhaitez regrouper un comportement avec des données.
  • Utilisez des structures de données lorsque vous avez besoin de stocker des données sans attachement de comportement, et lorsque la simplicité et l'accès direct sont des priorités.

Comprendre la distinction entre les objets et les structures de données est essentiel pour écrire du code propre et maintenable.

En choisissant la bonne approche en fonction des besoins de votre application, vous pouvez créer des systèmes à la fois efficaces et faciles à comprendre.

Joyeux codage !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/alisamir/understanding-clean-code-objects-and-data-structures-j4f?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3