Re[11]: Проектирование, переписывание, прокрастинация :)
От: bnk СССР http://unmanagedvisio.com/
Дата: 23.08.21 09:15
Оценка: 1 (1) +1
Здравствуйте, Евгений Музыченко, Вы писали:

bnk>>для этого есть область видимости. Ну public/private в смысле


ЕМ>Это само собой. Я про то, что в святцах рекомендуется стремиться к независимости любой функции, а наличие особых условий, в которых она может быть вызвана, объявлено моветоном.


Если смотреть не на мантру, а для чего она была придумана, то это обретает смысл — независимую функцию легче протестировать.

В общем надо сначала согласиться с какой-то базовой системой аксиом, типа "чем раньше находится ошибка — тем дешевле ее починить".
Не думаю что с этим кто-то будет спорить, или?

Как найти ошибку раньше?
Пусть например компилятор их находит, чем больше ошибок найдет компилятор, тем лучше.
Отсюда растет идея юнит-тестов и тестирования программы прямо во время компиляции по сути.
Чтобы юнит-тесты было легко писать, тестируемым функциям лучше быть независимыми.

В общем должна быть какая-то высшая цель в том, чтобы делать функции независимыми.
Если бы полностью независимые функции были на самом деле сильно удобнее, вложенные функции или лямбды например не стали бы так популярны.

Что будет перевешивать — тяжесть последствий от пропущенной ошибки, или же геморрой связанный с поддержкой юнит-тестирования, зависит от конкретного проекта, кмк.
Отредактировано 23.08.2021 9:22 bnk . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.