Когда я впервые начал программировать, я предполагал, что однажды достигну точки, где я начну проект, сяду и нарисую UML-диаграмму всех классов, а затем в значительной степени буду придерживаться этого. Я сейчас программирую пару лет, и это не так. Когда я прохожу проект, я часто говорю
- «Эй, мне нужен класс, чтобы делать _ _. Я не думал об этом раньше».
- «Подождите, эта функция действительно должна быть в этом классе, а не в этом. Я переверну его».
- «Это должно быть два класса вместо одного. Я разделю его».
- «Я должен сделать так, чтобы эти три автономных класса наследовали один абстрактный класс».
- И так далее, и так далее.
Это плохой признак того, что я часто меняю дизайн по мере продвижения? Значит ли это, что я плохой программист или это нормально?