Искусство архитектуры Archives
Что дальше?
...Когда же настанет совершенное, тогда то, что отчасти, прекратится. К коринфянам, 13:10 Конечно, простая история о двух программных системах не является исчерпывающе полным трактатом о программных архитектурах. Но я показал, что архитектура ока...
Где он теперь?
Через некоторое время архитектура проекта выглядела так, как показано на рис. 2.4. Иначе говоря, она сохранила большое сходство с исходной архитектурой, с несколькими заметными изменениями - и со значительным практическим опытом, доказывавшим п...
Работа с архитектурой
Кодовая база проекта была большой, но осмысленной и логичной. Новые программисты легко разбирались в ней и включались в работу. В системе не было ни лишних сложных связей, ни противного унаследованного кода, с присутствием которого приходится ...
Сроки проектирования
Одним из факторов, обусловивших успех Архитектурного городка, стали разумные сроки разработки. Они не были ни слишком короткими, ни слишком длинными. Для процветания проекта необходима благоприятная среда. Если выделить слишком много времен...
Преимущество модульных тестов
Другое крупное преимущество модульных тестов - их несомненное влияние на архитектуру: тесты практически заставляют разработчика формировать хорошую структуру кода. Каждый мелкий компонент кода строится как четко определенная сущность, спос...
Модульные тесты формируют архитектуру
Одно из важнейших решений по поводу кодовой базы (также предписанных методологией ХР) состояло в том, что весь код должен проходить модульное тестирование. Модульное тестирование обладает многими преимуществами; в частности, оно позволяет изм...
Управление «техническими долгами»
Невзирая на все меры контроля качества, разработка Архитектурного городка велась весьма прагматично. С приближением срока сдачи нам иногда приходилось «срезать углы», чтобы продукт был готов в положенное время. В кодовую базу вводились небол...
Поддержание качества
С самого начала в проекте Архитектурного городка были задействованы механизмы контроля качества: • Парное программирование. • Рецензирование кода/архитектуры для всего, что не относилось к парному программированию. • Модульные тесты для к...
Отложенные архитектурные решения
Одним из принципов ХР, действительно повысивших качество архитектуры проекта, был принцип YAGNI (не делайте того, без чего можно обойтись). В исходную архитектуру закладывались только самые важные моменты, а все остальные решения откладывались д...
Расширение архитектуры
Со временем в «общей картине» появились совершенно новые функциональные области - например, управление памятью и поддержка внешних устройств. Для проекта Мегаполис это стало бы сокрушительным ударом, а реализовать новые возможности было бы н...