Есть ли причина для инкапсуляции, если я единственный, кто использует мой код? - PullRequest
0 голосов
/ 03 февраля 2020

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

Ответы [ 3 ]

0 голосов
/ 03 февраля 2020

Я не думаю, что ненужный доступ к данным может произойти только сторонним разработчикам. Это может случиться и с тобой, верно? Когда вы разрешаете прямой доступ к данным через права доступа к переменным / свойствам, кто бы ни работал с этим, будь то вы или кто-то еще, может в конечном итоге создавать ошибки, получая прямой доступ к данным.

0 голосов
/ 03 февраля 2020

Инкапсуляция не только о сокрытии данных. Кроме того, речь идет о сокрытии деталей реализации.

Когда такие детали скрыты, это заставляет вас использовать определенный класс API, и класс может изменить его только внутри. Так что представьте себе ситуацию, когда вы открыли все методы для любого интересующего их класса, и у вас есть функция, которая выполняет некоторые вычисления. И вы только что поняли, что хотите заменить его, потому что логика c не верна, или вы хотите выполнить некоторые сложные вычисления.

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

Так что не делайте все публично c, это приводит к сильной связи и боли в процессе обновления.

0 голосов
/ 03 февраля 2020

Инкапсуляция не только создает «геттеры» и «сеттеры», но также предоставляет своего рода API для доступа к данным (при необходимости).

Инкапсуляция позволяет вам сохранить доступ к данным в одном месте и Позволяет вам управлять им более «абстрактно», уменьшая количество ошибок и делая ваш код более понятным.

Если ваши личные проекты просты и малы, вы можете делать все, что захотите, чтобы быстро и нужно, но помните о последствиях;)

...