Re[8]: Проектирование, переписывание, прокрастинация :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.08.21 07:43
Оценка: 3 (1)
Здравствуйте, bnk, Вы писали:

bnk>Имеется в виду, что поток выполнения один


Потоков в общем случае несколько, но есть "нормальные", где можно творить почти все, что хочется, и ограниченные теми самыми условиями на входе.

bnk>то есть выбор стоит между:


В плане выноса кода — примерно так.

bnk>Мне кажется, исполнение этого куска не должно зависеть от приоритетов или блокировок, то есть, технически,

bnk>это то же самое (но потенциально есть лишний вызов функции во втором случае)?

Понятно, что сам по себе вынос кода ничего не меняет. Но вынесенный код периодически оказывается кандидатом на вызов из других функций/потоков, которые уже могут выполняться в неподходящих условиях (и это порой вовсе не следует из структуры кода, а выясняется лишь экспериментально, когда все уже переделано и давно работает, но в очередном обновлении винды меняют какую-нибудь внутреннюю логику блокировок, и привет). А выносить код в отдельную функцию, чтобы обвешивать ее грозными комментариями "вызывать только из ..." и проверками, не вызвана ли она в неподходящем контексте — это и есть те самые уродливые костыли.

bnk>Можно и не тестировать (не писать юнит-тесты), это нормально (с) Малышева.jpg


Я их вообще не пишу, ибо геморроя больше, чем эффекта. Только финальные, общие тесты.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.