«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Понимание чистого кода: объекты и структуры данных⚡

Понимание чистого кода: объекты и структуры данных⚡

Опубликовано 24 августа 2024 г.
Просматривать:570

Understanding Clean Code: Objects and Data Structures⚡

Понимание различия между объектами и структурами данных имеет решающее значение при написании чистого кода.

Оба варианта имеют свое место в разработке программного обеспечения, но служат разным целям и лучше всего подходят для различных сценариев.

В этой статье мы углубимся в различия между объектами и структурами данных и выясним, когда использовать каждую из них, используя примеры JavaScript для иллюстрации концепций.


? Что такое объекты?

Объекты — это основа объектно-ориентированного программирования (ООП).

Они инкапсулируют как данные, так и поведение, то есть не только хранят информацию, но и предоставляют методы для взаимодействия с этой информацией.

Основная идея объектов заключается в объединении данных с функциями, которые работают с этими данными, гарантируя, что внутренним состоянием объекта можно управлять только с помощью его методов.

Пример объекта:

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

Здесь прямоугольник — это структура данных. Он предоставляет свои данные напрямую, а функции getArea() и getPerimeter() работают с этими предоставленными данными.

В отличие от объектов, инкапсуляция отсутствует, данные могут быть свободно доступны и изменены любой внешней функцией.


? Когда использовать объекты

Объекты идеально подходят, если вы хотите инкапсулировать поведение вместе с данными.

Эта инкапсуляция позволяет вам контролировать доступ к данным и их изменение, обеспечивая уровень защиты.

Объекты также хорошо подходят для ситуаций, когда объекты разных типов должны взаимодействовать друг с другом через четко определенные интерфейсы.

⚡ Используйте предметы, когда:

  • Вам необходимо защитить внутреннее состояние и гарантировать, что его можно будет изменить только определенными методами.
  • Вы хотите определить поведение, тесно связанное с данными.
  • Вы работаете со сложной системой, где важны инкапсуляция и абстракция.

? Когда использовать структуры данных

Структуры данных полезны, когда вам нужно просто хранить и систематизировать данные, не привязывая поведение.

Они обеспечивают легкий и прямой доступ к данным, что может быть полезно в сценариях, где производительность и простота являются ключевыми факторами.

⚡ Используйте структуры данных, когда:

  • Вам необходимо предоставлять данные непосредственно для работы внешних функций.
  • Дизайн должен быть простым и понятным.
  • Поведение отделено от данных и может быть реализовано во внешних функциях.

Ключевые выводы?

  • Объекты инкапсулируют данные и поведение, защищая внутреннее состояние и обеспечивая контролируемый доступ с помощью методов.
  • Структуры данных предоставляют данные напрямую, позволяя внешним функциям работать с ними без какой-либо инкапсуляции.
  • Используйте объекты, когда вам нужна инкапсуляция и вы хотите связать поведение с данными.
  • Используйте структуры данных, когда вам нужно хранить данные без привязки поведения, а также когда простота и прямой доступ являются приоритетами.

Понимание различия между объектами и структурами данных необходимо для написания чистого и удобного в сопровождении кода.

Выбрав правильный подход, основанный на потребностях вашего приложения, вы сможете создавать эффективные и простые для понимания системы.

Удачного программирования!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/alisamir/understanding-clean-code-objects-and-data-structures-j4f?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3