Поддерживать концептуальную целостность сложно. Это проблема, которую необходимо постоянно решать во время архитектуры, проектирования и строительства, и она только усугубляется, когда проект переходит из рук в руки.
Одна вещь, которая может помочь, — это участие людей из первоначальной команды разработчиков в обслуживании. Тот, кто уже имеет представление о концептуальной основе проекта, сможет лучше придерживаться этой структуры, чем тот, кто изучает ее с нуля.
Помимо этого, все сводится к огромной теме лучших практик. Почти все «хорошие» методы программирования нацелены на простоту сопровождения. Надлежащая практика проектирования и строительства приводит к проектам, которые легче понять последующим разработчикам. Стив МакКоннелл говорит об управлении сложностью как о главном императиве работы с программным обеспечением. Если со сложностью справиться заранее, тем, кто придет позже, будет легче сохранить концептуальную целостность проекта.
С другой стороны, хорошие методы обслуживания включают борьбу с энтропией. Держите систему под контролем. Не уменьшайте связность и не увеличивайте связанность ради быстрого исправления или новой функции. На самом деле, стремитесь сделать проект более последовательным с каждым внесенным изменением.
Если система была разработана с учетом расширяемости, то программистам, занимающимся обслуживанием, не составит труда сохранить концептуальную целостность при выполнении своей работы. И даже если бы это было не так, у них все равно была бы возможность улучшить проект во время технического обслуживания, а не снижать его еще больше.
Если разработчики сопровождения просто объединяют вещи и делают вещи «простыми» способами, это всегда ухудшает концептуальную целостность и увеличивает сложность проекта. Разработчики должны знать об этом, и они должны сознательно выбирать методы, которые лучше всего позволят им избежать этого.
Основная идея заключается в том, что сопровождение должно быть процессом постоянного улучшения проекта, а не его постоянного ухудшения. Отличной книгой по этой теме является книга Майкла Фезерса Working Effectively. с устаревшим кодом. Возможно, вы захотите проверить это.
person
Adam Bellaire
schedule
11.02.2009