(no subject)

Mar 19, 2012 13:37

Наш проект прошел очень серьезную веху - кол-во строчек кода перевалило за один миллион.

Нет, это не индусский быдлокод. Нет, это не 100 строк комментариев на строчку кода. Это действительно относительно честный миллион строк, и это самое большое приложение, с которым я в своей жизни сталкивался.

Я не питаю иллюзий насчет качества нашего продукта, и не считаю его безупречным. В качестве иллюстрации могу показать реестр необходимых рефакторингов - на сегодня в нем значится около 70 пунктов. Однако, несмотря на все эти трудности, мы смогли довести продукт до релиза - и это победа.

Основной рецепт, гарантирующий успех проектирования таких больших приложений - НИКОГДА не проектируйте таких больших приложений. Проектируйте набор маленьких, самостоятельных и компактных приложений-служб "на один укус". А дальше собирайте из этих служб то, что вам необходимо. Такой подход сделает вас неуязвимыми против ошибок проектирования, ошибок кодирования и т.п. Даже если одно из ваших приложений окажется кривым-неподходящим-неудачным-непроизводительным, вы всегда можете его просто выкинуть и заменить новое без серъезного ущерба для оставшихся приложений.

Подобный подход на самом деле предоставляет существенно больше возможностей и гибкости, чем кажется с первого взгляда. Вдумайтесь - вы МОЖЕТЕ ошибаться. Качество кода в отдельно взятом приложении МОЖЕТ быть невысоким - ведь единственное, что всех волнует - это соблюдение приложением контракта.

Есть только одно место, на котором экономить не стоит - доменная модель. Тут качество должно быть бескомпромисным, потому что она лежит в фундаменте всех ваших активностей.

Делайте доменную модель Rich, делайте ее хорошо, а все остальное получится само собою :)
Previous post Next post
Up