просто меня убеждают в обратном?
Прочитал статью, что это может нарушить инкапсуляцию, но это же вроде подход ООП
Вообще, сложный вопрос. Никакую инкапсуляцию оно конечно нарушить не может — это вообще идиотизм. Но вот если у тебя лишь геттер и сеттер, и нет никакой логики вокруг — член для доступа должен быть public , без гетеров.
нормальная практика
На примере моего кода, который выше. Я не хочу, чтобы что-то меняло статус моего объекта, который будет влиять в дальнейшем на программу. Пример : Я отправляю данные на сервис, что мой файл был создан с статусом NEW и он весит *какой-то вес* Вдруг оказывается то, что данный файл был создан со статусом Закончен Это ли не пример того, что нужен геттер или сеттер?
а если будет обращение к public члену в 100 местах программы и будет необходимо поменять его, то придется менять в 100 местах в случае с гетером, условно, нам придется просто залезть в класс, поменять название public члена, и, собственно внутри геттера аналогично
Вопрос сложный, но поменять 100 мест программы всяко лучше, чем в двух сотнях мест иметь по геттеру и сеттеру просто на всякий случай
И что , какая тебе разница, что так, что эдак
Это умеют делать иде через авторефакторинг в 2 клика
Ещё остаётся вопрос систем контроля версий. Такой рефакторинг в два клика может оказаться очень недружественным по отношению к работе с VCS, так что лучше до этого даже не доводить
В большинстве случаев, ты когда поменяешь имя поля, то и будешь менять имя гетера/сетера. Так что комитить все файлы все равно придется.
Обсуждают сегодня