Корпоративный блог Центра Высоких Технологий

Андрей Лапин
Андрей Лапин
18 декабря 200909:15
Центр Высоких Технологий
Ижевск Россия
Делать просто - это очень сложно

Работа над одним проектом, изначально разработанным в другой организации,
натолкнула меня на мысль написать сей топик.

Советы как избежать проблем при разработке сложного программного обеспечения.


1. Проектируйте, используя понятия предметной области.
Например, если в тех. задании
говорится о состояниях программы, то не создавайте свой список состояний, потому что
вы решили, что лучше понимаете логику работы. Старайтесь избегать вводить свои
понятия, которые не входят в круг понятий заказчика.
Учитывайте, что именно заказчик определяет, как будет работать программа, и
дальнейшие изменения будут строиться именно вокруг понятий, которые определил
заказчик. Также это упростит дальнейшую поддержку программного обеспечения.
Если заказчик определяет бизнес логику в виде текстового документа, то
лучше будет, если структура программы, которая отражает бизнес-логику,
будет соответствовать исходному документу.

2. Не начинайте сразу строить сложную объектную модель приложения, пока не будете
полностью уверены в том, что объектная модель соответствует тому, что хочет
получить заказчик. Учитывайте, что тех. задание может поменяться модель
придется переделывать.

3. Применяйте шаблоны проектирования только если они на самом деле нужны.
Самые главные шаблоны проектирвоания, о которых следует помнить всегда - это
Low Coupling и High Cohesion.
Low Coupling - слабая связность. Пишите код так, чтобы уменьшить
ссылки на глобальные переменные и классы. Используйте инкапсуляцию.
Не забывайте про то, чтобы ставить модификатор private для методов и переменных.
High Cohesion - сильное зацепление. Не нагружайте класс и функции избыточным
количеством обязанностей. Часто, чтобы расширить возможности фунции
добавляют параметр, который определяет иное поведение функции. Это оправдано,
если новый функционал тесно связан с прежним функционалом и соответствует
названию функции. Иногда такой подход доходит до того, что функция имеет
большое количество параметров. Решить такую проблему можно передачей в
функцию класса или разбиение функции на несколько функций.

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

Комментарии: 1

Роман Корнеев 23 декабря 2009 20:53
Что касается шаблонов проектирования, то я бы порекомендовал следующий цикл статей "Принципы проектирования классов (S.O.L.I.D.)": http://blog.byndyu.ru/2009/10/solid.html
|

Добавить комментарий

 


Подписка

Последние комментарии