Size: a a a

1С, БСП, DevOps и Архитектура

2020 June 23

AN

Alexey Novoselov in 1С, БСП, DevOps и Архитектура
Венгерская нотация это пережиток прошлого, её уже лет 20 нигде не используют
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
и решала она совсем другую проблему, когда возникла
источник

АС

Антон Степанов... in 1С, БСП, DevOps и Архитектура
Dmitry Klimenko
так что пока есть аргумент вида "я словил один раз из-за этого проблема, поэтому теперь я будут делать так, мне так удобнее"
Зачем мне писать код так, как мне неудобно?
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Alexey Novoselov
Венгерская нотация это пережиток прошлого, её уже лет 20 нигде не используют
Точно нигде? Android, Java.. кажется префиксы m_ для полей классов. Это первое что сходу вспомнил
источник

АС

Антон Степанов... in 1С, БСП, DevOps и Архитектура
венгерскую нотацию стали ругать изза того, что компилятор и так ругался на несоответствие типов, что делало ее бессмысленной. А 1Сники заодно просто ругают
источник

KK

Konstantin Kozyrev in 1С, БСП, DevOps и Архитектура
Dmitry Klimenko
во первых в отладке и так все видно, даже тип
во вторых пример того, что подразумевается под когнетивной нагрузкой? что в префиксах? Где она лежит? Я не могу придумать случай, когда мне нужен будет префикс, честно. Давайте пример, я попробую разобрать.
В отладке видно переменные, здорово. Но там ни слова об их области видимости. Я топлю лишь за префиксы для областей видимости.
>"Пример того, что подразумевается под когнитивной нагрузкой"
Типовой код УТ - https://gist.github.com/bapho-bush/eafabc30539f1533cc55ba4e29ac5c97
Лично мне не очень приятно читать и к середине функции мне уже надо вверх подниматься, чтоб по сигнатуре определить что есть что. Может это как раз пример плохой архитектуры, не знаю.
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
Антон Степанов
Зачем мне писать код так, как мне неудобно?
Я тут не в силах переубедить. Есть коллеги, которые его ревьюют, дорабатывают и т.п.
источник

АС

Антон Степанов... in 1С, БСП, DevOps и Архитектура
Dmitry Klimenko
Я тут не в силах переубедить. Есть коллеги, которые его ревьюют, дорабатывают и т.п.
И они не имеют проблем так же с перекрытием переменных. Да, они не привыкли писать в моем стиле, но и читать/дорабатывать код им это не мешает. А еще без блейма и тем более без идентификаторов в коде понимают автора
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Какие блэймы.. в коде всегда должен быть комментарий о том, кто, в рамках какой задачи и когда делал!
источник

АС

Антон Степанов... in 1С, БСП, DevOps и Архитектура
‌‌‎infactum
Какие блэймы.. в коде всегда должен быть комментарий о том, кто, в рамках какой задачи и когда делал!
прости, лишнего сказал
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
Konstantin Kozyrev
В отладке видно переменные, здорово. Но там ни слова об их области видимости. Я топлю лишь за префиксы для областей видимости.
>"Пример того, что подразумевается под когнитивной нагрузкой"
Типовой код УТ - https://gist.github.com/bapho-bush/eafabc30539f1533cc55ba4e29ac5c97
Лично мне не очень приятно читать и к середине функции мне уже надо вверх подниматься, чтоб по сигнатуре определить что есть что. Может это как раз пример плохой архитектуры, не знаю.
Да, тоже, читать не приятно. Скорее стоило побить про процедурам, но, чтобы точно ответить, надо погрузиться и понять, какую проблему решал автор, чтобы вот тут все в одно место написать. Но как минимум кучу выносов в локальные переменные или заносов в кэш явно выделяемы в кусок кода (пусть даже не в процедуру отдельную).
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
‌‌‎infactum
Точно нигде? Android, Java.. кажется префиксы m_ для полей классов. Это первое что сходу вспомнил
Какую проблему они решали префиксами?
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Dmitry Klimenko
Какую проблему они решали префиксами?
Не задумывался. Такой стайлгайд и все.
Ну и вот тут пишут, что вроде уже отказались от этого.
https://www.reddit.com/r/androiddev/comments/ae4i43/does_android_team_starts_to_abandon_hungarian/
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
Антон Степанов
венгерскую нотацию стали ругать изза того, что компилятор и так ругался на несоответствие типов, что делало ее бессмысленной. А 1Сники заодно просто ругают
Я думаю, что все гораздо глубже. Само программирование на сях заставляет вас помнить, например, сколько байт у вас сейчас занимает эта переменная. Я напомню, что тогда не было текущих крутых фреймворков, библиотек. Код был более низкоуровневым.
источник

KK

Konstantin Kozyrev in 1С, БСП, DevOps и Архитектура
Dmitry Klimenko
Да, тоже, читать не приятно. Скорее стоило побить про процедурам, но, чтобы точно ответить, надо погрузиться и понять, какую проблему решал автор, чтобы вот тут все в одно место написать. Но как минимум кучу выносов в локальные переменные или заносов в кэш явно выделяемы в кусок кода (пусть даже не в процедуру отдельную).
И такого кода много. Это разработчики от 1С, мне хочется верить, что уж у кого-кого, а у них с архитектурой всё продумано. А потом в процессе отладки натыкаешься на такое...
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
Не ну всякое бывает конечно. И уж Андроид это показатель) Но я не думаю, что просто так от балды такое запилили. Там в репу андроида же не только гугл коммитит. Возможно и тогда так было. Не поверю, что вот чисто потому что захотелось.
источник

DK

Dmitry Klimenko in 1С, БСП, DevOps и Архитектура
Konstantin Kozyrev
И такого кода много. Это разработчики от 1С, мне хочется верить, что уж у кого-кого, а у них с архитектурой всё продумано. А потом в процессе отладки натыкаешься на такое...
Нет. Они же такие же люди как и все. Там не сплошь сеньоры.
источник

KK

Konstantin Kozyrev in 1С, БСП, DevOps и Архитектура
):
источник

GV

Gukov Viktor in 1С, БСП, DevOps и Архитектура
‌‌‎infactum
Точно нигде? Android, Java.. кажется префиксы m_ для полей классов. Это первое что сходу вспомнил
А vanilla жаба то причем?
источник

‌‌‎infactum in 1С, БСП, DevOps и Архитектура
Gukov Viktor
А vanilla жаба то причем?
имелось ввиду код на Java под Android.
источник