Это общий вопрос дизайна, не относящийся ни к одному языку. Я немного разорван между минимальным кодом или оптимальной организацией.Дизайн - Когда создавать новые функции?
В качестве примера я воспользуюсь моим проектом. У меня есть куча вкладок в форме, которая выполняет разные функции. Допустим, что вкладка 1 читается в файле с определенным макетом, вкладка 2 экспортирует файл в определенное место и т. Д. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что мне нужны эти вкладки, чтобы сделать что-то немного отличающееся в зависимости от содержимого переменная. Если он содержит 1, мне может понадобиться использовать Layout A и выполнить некоторую дополнительную конкатенацию, если он содержит 2, мне может понадобиться использовать Layout B и не создавать конкатенации, но добавлять два целочисленных поля и т. Д. Могут быть 10+ кодов, которые я будет смотреть.
Лучше всего создать индивидуальный путь для каждого кода на ранней стадии или попытаться создать единственный путь, который разветвляется только тогда, когда это абсолютно необходимо.
Создание индивидуального пути для каждого кода позволит очень легко следовать моему коду с первого взгляда, что, в свою очередь, поможет мне позже в будущем при отладке или внесении изменений. Недостатком этого является то, что я увеличу количество кода, написанного путем вызова некоторых из тех же функций в нескольких местах (например, шаги 3, 5 и 9 для каждого отдельного кода могут быть точно такими же.
Создание единственный путь, который будет разветвляться только тогда, когда потребуется, будет немного беспорядочным и более сложным для понимания с первого взгляда, но я бы создал меньше кода, разместив условные выражения только на уникальных этапах.
Я понимаю, что это может быть в общем случае, если вам была предоставлена ранее разработанная программа для работы, которую вы бы предпочли?
Редактировать: Я нарисовал несколько простых изображений, чтобы помочь выразить это. Коды 1/2/3 - это переменные, а прямые под ними представляют собой пути, которые они будут использовать. Все эти шаги должны выполняться линейным хронологическим образом, поэтому существует функция по существу просто вызвать другие функции в правильном порядке.
Различные пути
один путь
Это своего рода субъективный вопрос, который принадлежит программистам.SE. –
Спасибо, Дэвид - Никогда раньше не было. Теперь проверить его –