Size: a a a

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

2020 November 11

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
John Doe
Ну так вызывающая сторона - это и есть исходная рассматриваемая функция.
Которая посчитает корень и запишет это в файл.
В смысле эта ж функция не в вакууме существует, ее ж кто-то вызывает
источник

NG

Nikita Gryzlov in 1С, БСП, DevOps и Архитектура
Gukov Viktor
Я могу в две строчки написать скрипт на перле
Есть куда улучшать!
источник

OT

Oleg Tymko in 1С, БСП, DevOps и Архитектура
Gukov Viktor
Я могу в две строчки написать скрипт на перле
И потом гореть )
источник

GV

Gukov Viktor in 1С, БСП, DevOps и Архитектура
Oleg Tymko
И потом гореть )
Согласно критерию "экрана" я написал идеальный и понятный скрипт
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Артем Лазаренко
В смысле эта ж функция не в вакууме существует, ее ж кто-то вызывает
Ну, пользователь на кнопку жмет.
Как твоим принципом здесь следует распорядиться? Есть детерминированный алгоритм?
источник

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
John Doe
Ну, пользователь на кнопку жмет.
Как твоим принципом здесь следует распорядиться? Есть детерминированный алгоритм?
По событию на кнопку вызывается функция которая вычисляет квадратный корень и возвращает результат, в обработчике события он запишется в файл
источник

СП

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

JD

John Doe in 1С, БСП, DevOps и Архитектура
Артем Лазаренко
По событию на кнопку вызывается функция которая вычисляет квадратный корень и возвращает результат, в обработчике события он запишется в файл
Ну так выходит что в обработчике события у тебя выполняются два действия (посчитать + записать). На каждое из них нужна отдельная функция?
источник

GV

Gukov Viktor in 1С, БСП, DevOps и Архитектура
Серж Перфолента
лично у меня, обычно нет проблем понять, что делает очень многострочная функция или процедура, а вот читать код разбитый на сотню мелких функций подчас нервов не хватает... и да, за 30 лет я прочитал множество книжек как писать хороший код... очень часто эти книжки противоречили друг другу...
А эти сотни функций не надо все читать. Есть юнит тесты, есть говорящие названия. Это же не роман
источник

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
John Doe
Ну так выходит что в обработчике события у тебя выполняются два действия (посчитать + записать). На каждое из них нужна отдельная функция?
Зачем до абсурда доводить
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Артем Лазаренко
Зачем до абсурда доводить
А судьи кто? (с)
источник

GV

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

СП

Серж Перфолента... in 1С, БСП, DevOps и Архитектура
Gukov Viktor
А эти сотни функций не надо все читать. Есть юнит тесты, есть говорящие названия. Это же не роман
когда ищешь проблему или хорошее место куда вставить свой фрагмент, то приходится читать как роман :)
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Gukov Viktor
Когда функции приближены к чистым, понимание логики приложения значительно легче
Я правильно понял, что чистота функций обратно пропорциональна глубине дерева их вызовов?
источник

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
John Doe
А судьи кто? (с)
Нет их, никто тебя не оштрафуют
источник

GV

Gukov Viktor in 1С, БСП, DevOps и Архитектура
John Doe
Я правильно понял, что чистота функций обратно пропорциональна глубине дерева их вызовов?
Нет, это не связанные вещи
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Gukov Viktor
Нет, это не связанные вещи
Т.е. можно увеличивать чистоту функции без создания в ней подчиненных вызовов?
источник

GV

Gukov Viktor in 1С, БСП, DevOps и Архитектура
John Doe
Т.е. можно увеличивать чистоту функции без создания в ней подчиненных вызовов?
Чистая функция - это функция без побочных эффектов. При чем тут вложенность вообще?
источник

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
John Doe
А судьи кто? (с)
Просто ты ж сам на грабли свои наступишь когда через неделю тебе нужно будет посчитать квадратный корень, но результат получить не файлом
источник

АЛ

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