Цитата:
Сообщение от
Владимир Максимов
Пример с validateWrite + Write явно надуманный.
Да ну?!
т.е. runbase с эго validate и run - "это другое"
Цитата:
Сообщение от
Владимир Максимов
Поскольку в данной теме речь идет именно о создании методов, то и получим дублирование кода
ну... блин... тут явная проблема с логикой.
создание методов вовсе НЕ приводит к дублированию кода.
Цитата:
Сообщение от
Владимир Максимов
Это просто счастье, если параметр добавляют. Обычно именно тупо дубликат делают

это проблема конкретной команды и ее конкретного team-лидера.
это НЕ проблема самого CodeStyle.
Насчет параметра.
Правильно говоришь - скорее всего параметров будет много.
вызовов метода с параметрами будет много.
т.е. вот таких конструкций будет дофига:
X++:
myObj.myMethod(voucher, inventLocationId, true, inventColorId, false, params);
и как понять этот метод выкинет исключение или нет?
и как понять допустимо ли здесь игнрорировать результат?
поэтому код будет усеян уродливыми конструкциями вида
X++:
if( myObj.myMethod(voucher, inventLocationId, true, inventColorId, false, params) )
{
throw Error::Error
}
а можно было бы одной строкой
X++:
myObj.myMethodOrThrow(voucher, inventLocationId, true, inventColorId, params);
Цитата:
Сообщение от
Владимир Максимов
Сама постановка вопроса не корректная.
какая постановка?
этого вопроса "Какой вариант вы бы предпочли? И почему?"?
как может быть такая постановка некорректной?
Цитата:
Сообщение от
Владимир Максимов
Как правило, подобные методы редко продумываются на этапе создания архитектуры проекта. Они возникают "естественным путем" по мере возникновения в них необходимости. Соответственно и варианты реализации также возникают "по месту". Вот что в данном случае покажется более уместным, то и делают
генезис понятен. согласен, что именно так и происходит.
но это не повод не задавать вопросы

и это не повод не выполнять рефакторинг.
не так ли?