В классе мы узнаем о различных методах разработки программного обеспечения. Тот, на котором мы сосредоточились и использовали для разработки нашего проекта, был метод водопада.
Вы, вероятно, изучили классическую модель Waterfall, которую человек, приписавший ее знакомству с миром разработки программного обеспечения, заявил с самого начала, что он не подходит для разработки крупномасштабных программных систем. Возможно, вам будет интересно прочитать статью Уинстона Ройса под названием «Управление развитием больших программных систем». чтобы узнать больше о проблемах, которые многие считают моделью водопада.
Тем не менее, модель Waterfall хороша для обучения жизненному циклу разработки программного обеспечения по мере прохождения и может потратить время на изучение и выполнение разработки требований, архитектурного проектирования, детального проектирования, реализации, тестирования и обслуживания в очень четкие, четкие фазы.
В наших диаграммах классов мы должны были перечислить ВСЕ свойства и методы, включая частные. Я прочитал несколько книг, а именно «Чистый код», в которых говорится, что функции должны быть максимально короткими и целенаправленными. Кажется утомительным перечислять каждую маленькую функцию на наших диаграммах, если они не помогают другим разработчикам (они являются частными, их никто не будет использовать). Кроме того, я не могу думать о каждой крошечной функции при разработке программы, они могут встречаться при рефакторинге.
Это все очень важные пункты.
Перечисление всех свойств и методов на этапе проектирования, даже при использовании Waterfall, вероятно, излишне. Вы должны обязательно перечислить все, что является общедоступным, а также основные свойства. На самом деле все остальное - это детали реализации, которые вы можете получить путем обратного инжиниринга вашей реализации в диаграммы.
Совет Clean Code (я никогда его не читал - я просто следую тому, что вы написали) кажется справедливым и применимым даже при использовании методологии Waterfall. Вы можете разрабатывать свои классы и методы в соответствии с принципом единой ответственности , разделением интересов и другими принципами SOLID . Водопад не говорит вам, как проектировать, просто когда вам нужно это сделать. Тем не менее, это сложнее заранее, так как вы учитесь и думаете о лучших способах сделать это во время реализации.
Я думаю, что это указывает на тот факт, что между дизайном и реализацией должна быть четкая итерация - проблема, которую традиционный Waterfall не учитывает.