Narek
хотя там странно предложение составлено, может и не оптимизируются
Sergey
вот это бл**ь и не очевидно
Sergey
какого хрена при простой записи свойства происходит сложная медленная операция?
Это нихрена не очевидно, я даже могу не подозревать о такой херне
Sergey
это пиздец ребята
Anonymous
мде....
Anonymous
зачем ругаися... не зная логики софтины начинаешь судить?
Sergey
да неважно логика какая
Sergey
э
Sergey
это либо легаси
Sergey
либо говнокод
Anonymous
я просто показал пример как прорепти прекачевала в геттеры и сеттеры
Sergey
лучше бы функцию написал
Anonymous
и рафакторить 100500 кода?
Sergey
вот так и появляется говнокод в проекте
Sergey
а так ты 100500 кода замедлил в хер знает сколько раз
+ усложнил понимание кода другими людьми
Ты изменил логику
Anonymous
ок
Artem
@sovamist, в самом по себе set нет ничего страшного, но при условии, что этот set не будет создавать видимых снаружи сайд-эффектов. Если там перегенеряетс внутренний кеш или обновляются внутренние вычисляемые поля - то всё хорошо
Artem
но вот если ты сетишь одно поле, а меняется ещё и другое (публично) - то да, то говно
Anonymous
Anonymous
Sergey
ну ок))
Было this.value = 1
и когда я писал target.value = 2 я знал, что это ОЧЕНЬ дешевая операция, и я могу делать её сотни тысяч раз. А потом какой-нибудь "программист", сделал set/get в классе и мой код стал тормозить
И на первый взгляд виноват я
Anonymous
так лучше
Sergey
это очевидно
и любой поймет что здесь происходит
Narek
Sergey
если он дописал функцию выполняющую тяжелую операцию, меня это не коснется и весь код тормозить не будет
Narek
причем тут функция
Sergey
Narek
если ты представляешь программиста, который в геттер написал тяжелую операцию - программист недалекий, а недалекий программист может вообще что угодно написать плохо
Sergey
Sergey
Narek
а что мешает посмотреть код геттера или сеттера?
Sergey
НЕОЧЕВИДНОСТЬ!
Sergey
мне каждое свойство просматривать в классе?
Artem
а какая разница сеттер там или функция, ты в любом случае не имеешь права делать предположений относительно внутренней реализации. Если важна скорость, то сложность должна быть прописана в документации, а всё остальное - это просто костыли чтобы ускорить свой код и тут уже ты идёшь на риск и должен знать как именно внутри всё работает
Narek
а ты каждый метод просматриваешь в классе?
Sergey
гораздо проще ввести в линтер правило, запрещающее использование сеттеров/геттеров
Sergey
но я не хочу внезапно охуеть от того что сеттер занимает время
Vlad
на самом деле getter/setter не порочная практика
Vlad
мне кажется у совы травматический опыт
Narek
getter/setter абсолютно нормальная практика
Sergey
вот от таких травмы и случаются
Artem
травматичный опыт случается, когда инструменты применяют не по назначению
Sergey
Sergey
Sergey
ну так загуглил
Andrey
вот от таких травмы и случаются
Многие обжигались когда то с сеттерами и геттерами, но все же нормальная практика при разумном использовании приносит пользу
⩔wein
Вообще я полностью согласен. Использование геттеров/сеттеров концептуально плохая идея. Когда я запрашиваю или изменяю значение свойства я ожидаю что это просто произойдет.
Narek
ну для меня очевидно, что без IDE писать больно, особенно на js, не знаю как для вас
Vlad
Narek
все субъективно
Oleg
От размера проекта зависит
Artem
Vlad
не зависит
Oleg
Зависит
Vlad
да боже
Vlad
это тоже субъективно
Oleg
😄
Oleg
Это верно
Anonymous
Это уже похоже на holywar :)
Vlad
это как спорить кому какой цвет больше нравится
Vlad
Oleg
Но по мне так в ляме строк кода как-то не то чтобы удобно с саблайма какого-нить
⩔wein
Если нужен какой то пре-процессинг куда корректнее сделать отдельную функцию и её вызывать. По крайней мере по названию функции и по самому факту ее наличия будет ясно что с данными что то происходит
Andrey
Andrey
жрет правда много, это минус
Anonymous
⩔wein
Шторм на больших проектах тормозит. Я предпочту меньше фич зачастую, чем тормоза
Andrey
но это одной лишь оперативкой фиксится
Andrey
воткнул побольше, и все хорошо
Narek
в общем я не вижу никаких причин не использовать геттеры и сеттеры в обычных entity, в остальных местах я использую обычные методы, для entity это удобно даже чисто эстетически
Oleg
И конфигом
Igor
notepad++
Andrey