Я работаю на своей работе около года. Я в основном работаю в нашем графическом интерфейсе, который использует методы из бэкэнда C, но мне обычно не приходится иметь дело с ними, кроме возвращаемых значений. Наш GUI структурирован довольно разумно, учитывая наши ограничения.
Мне было поручено добавить функцию в часть программы из командной строки. Большинство из этих функций имеют длину 300 строк и сложны в использовании. Я пытаюсь собрать их кусочки, чтобы получить конкретную информацию о тревоге, и у меня проблемы с организацией. Я знаю, что я делаю тестирование более сложным, выполняя его в одной длинной функции.
Должен ли я просто хранить все в огромной функции в соответствии со стилем существующих функций или я должен инкапсулировать аварийные сигналы в их собственные функции?
Я не уверен, уместно ли идти вразрез с существующими соглашениями о кодировании или же мне просто нужно укусить пулю и сделать код немного более запутанным для написания.
В итоге я сравниваю
showAlarms(){
// tons of code
}
против
showAlarms(){
alarm1();
alarm2();
return;
}
alarm1(){
...
printf(...);
return;
}
РЕДАКТИРОВАТЬ: Спасибо за совет всем, я решил, что я собираюсь разработать свой код с учетом фактора, а затем спросить, что они хотят, и если они хотят все это в одном, я могу просто вырезать из своего факторизованного кода и превратить его обратно в 1 большая функция. Это должно позволить мне написать и протестировать его легче, даже если они хотят всего кода в одном определении.
ОБНОВЛЕНИЕ: В итоге они были довольны факторизованным кодом, и несколько человек поблагодарили меня за создание этого прецедента.