Size: a a a

2020 January 01

E

EgorBo in pro.net
через window.Width = -10;
источник

OM

Oleg Morozov in pro.net
EgorBo
пойди в впф или винформах поставть отрицательную ширину окошку
значит тогда мы по-умолчанию должны писать проперти с валидацией?
источник

OM

Oleg Morozov in pro.net
и автопроперти вновь порочны, но уже по другой причине
источник

OM

Oleg Morozov in pro.net
что изначально не отражают то, что должны
источник

OM

Oleg Morozov in pro.net
Iλyα Che
Правильно ли я понимаю идею, что если метод выполняет валидацию, то это всегда должно быть отражено в нназвании? В общем случае set берёт абстрактное значение и мапит его на значение, которое уже имеет смысл в рамках логики класса. Например, Foo.Length = 3. Справа абстрактное целое число 3. Слева уже длина, которая равна 3 единицам. Если мапинг не удаётся, то надо сообщить об этом пользователю как можно раньше, а не на этапе, когда площадь будет вычисляться, например.
ну вот если берем за стандарт везде фигачить паблик гетсет там где хватает поля, то выходит, что Set у нас не подразумевает валидации
источник

IB

Ivan Balanar in pro.net
Oleg Morozov
значит тогда мы по-умолчанию должны писать проперти с валидацией?
для публичного апи валидация есть практически всегда. Для Internal можно обойтись без валидации - но там и вероятность изменения кода в разы выше, поэтому тоже проперти на вырост.
источник

IC

Iλyα Che in pro.net
Oleg Morozov
ну вот если берем за стандарт везде фигачить паблик гетсет там где хватает поля, то выходит, что Set у нас не подразумевает валидации
Если нет и не будет валидации, необходимости знать, что значение изменилось, и т.д. и т.п., то фигачь публичное поле, конечно.
источник

OM

Oleg Morozov in pro.net
Ivan Balanar
для публичного апи валидация есть практически всегда. Для Internal можно обойтись без валидации - но там и вероятность изменения кода в разы выше, поэтому тоже проперти на вырост.
в начале треда я и спрашивал, насколько часто у вас "на вырост" происходит по субъективным ощущениям
источник

IC

Iλyα Che in pro.net
EgorBo
пойди в впф или винформах поставть отрицательную ширину окошку
Лень :( Да и что это докажет. Ну будет значение игнориться, например, или даже применяться. Значит, разрабы руководствовались другой логикой. Имеют право.
источник

AT

Alexey Tkachenko in pro.net
EgorBo
через window.Width = -10;
Там же три слоя магии под капотом
источник

OM

Oleg Morozov in pro.net
Iλyα Che
Если нет и не будет валидации, необходимости знать, что значение изменилось, и т.д. и т.п., то фигачь публичное поле, конечно.
вот уже лучше
просто паблик гетсет лепят как мантру везде и когда речь заходит "а зачем", то ответ обычно либо бэдпрактикс, либо на будущее

вот я и хотел поинтересоваться насколько часто у вас будущее наступает

у меня например, если изначально не заложена необходимость проперти, то происходит примерно никогда
источник

AT

Alexey Tkachenko in pro.net
Oleg Morozov
в начале треда я и спрашивал, насколько часто у вас "на вырост" происходит по субъективным ощущениям
Если стреляет один раз, но наповал, пускай лучше будет слой соломки везде
источник

AT

Alexey Tkachenko in pro.net
Oleg Morozov
вот уже лучше
просто паблик гетсет лепят как мантру везде и когда речь заходит "а зачем", то ответ обычно либо бэдпрактикс, либо на будущее

вот я и хотел поинтересоваться насколько часто у вас будущее наступает

у меня например, если изначально не заложена необходимость проперти, то происходит примерно никогда
В смысле костыли расставляются с учётом того, что там не проперти?
источник

OM

Oleg Morozov in pro.net
Alexey Tkachenko
В смысле костыли расставляются с учётом того, что там не проперти?
просто весь диапозон значений валидный, и что туда не пихни, то код правильно отработает
источник

OM

Oleg Morozov in pro.net
там и костыли не нужны
источник

IC

Iλyα Che in pro.net
Oleg Morozov
вот уже лучше
просто паблик гетсет лепят как мантру везде и когда речь заходит "а зачем", то ответ обычно либо бэдпрактикс, либо на будущее

вот я и хотел поинтересоваться насколько часто у вас будущее наступает

у меня например, если изначально не заложена необходимость проперти, то происходит примерно никогда
Ну это ж всё игра с вероятностями и переписыванием в будущем. Так-то можно и об архитектуре не запариваться особо, если в будущем не будет изменений.
источник

AT

Alexey Tkachenko in pro.net
Oleg Morozov
просто весь диапозон значений валидный, и что туда не пихни, то код правильно отработает
Но так ведь далеко не всегда бывает, не так ли?
источник

OM

Oleg Morozov in pro.net
Alexey Tkachenko
Но так ведь далеко не всегда бывает, не так ли?
в таком случае гетсет уже сразу имеет тело с валидацией
источник

OM

Oleg Morozov in pro.net
я же говорю о { get; set; }, которые непонятно зачем нужны
источник

IB

Ivan Balanar in pro.net
Oleg Morozov
в начале треда я и спрашивал, насколько часто у вас "на вырост" происходит по субъективным ощущениям
Вообще у нас в компании прямо запрещено выставлять наружу поля, если это не статики и не readonly поля в структурах. Что же до выроста - в новых классах зачастую пишем заглушки без реализации. Публичных пропертей {get;set;} у нас немного. А вот Internal {get;set;}, что любопытно, меньше, чем публичных.
источник