Описание некоторых моих SQL-проектов.
Скажем, вот такая прога для массовой рассылки писем, потребовала нескольких часов работы, а вот такая для контроля за ходом выполнения проектов - несколько дней.
Что касается более серьезных прог, то вот такая прога (некий аналог Outlook+Exchange с контролем исполнительской дисциплины) была сделана мною в течении 10 рабочих дней в домашних условиях. За это время был сделан только первый "сырой" вариант, в которых позже вносилось множество доработок. Документирование проекта также не входит в этот срок. Кроме того меня еще пару раз дергали на доработки по моим старым прогам, в одном случае мне пришлось отвлекатся изготовление довольно сложного многосекционного отчета, что тоже потребовало переключения внимания в совершенно другой контекст.
Однако в случае этой проги изначально присутствовало вменяемое ТЗ, составленное толковым постановщиком задач, - тогда как в большинстве случаев присутствует только бекание и мекание, приводящее потом к сотням доработок и существенному затягиванию разработки из-за многократных переделок одних и тех же мест.
Эта прога выбрана мною в качестве примера, т.к. она показывает мой "крейсерский" режим работы - без напряга, после которого надо брать отпуск, но и без откровенного шлангования. В условиях программирования в офисных условиях срок разработки увеличивается где-то в два-три раза - ну если конечно в этом офисе нет балагана и возможность работать существует вообще...
Решение задачи по этому ТЗ у меня получилось в:
- 24 SQL-процедуры длиной порядка 650 строк плюс скрипт на генерацию 14 таблиц длиной 290 строк (что тоже работа, хотя и выполнена сервисными средствами - ну структуру данных-то продумывать все равно надо).
- три контрола длиной 540 строк (в которых собственно текст составил 216 строк),
- три модуля длиной 215 строк,
- пять форм, (одна из которых состоит из шести закладок), в которых оказалось 167 процедур из 3473 строк (непосредственно кода 1074 строк).
Вот на этот менеджер классифкаторов у меня ушло около полугода. Но SQL-скрипт у него получился 5478 строк. Плюс формы. Правда, тут среда тяжелая для меня - шестерка. В ней я работаю как из под палки и, соответсвенно ошибок много. К слову, в SQL у меня вообще не бывает ошибок. Далее NET2005, далее ASP2, ну а больше всего ошибок у меня получается на шестерке.
Зато синхронизатор я написал буквально за день. Ну потом еще несколько дней вносил в него изменения. Первую версию ProjectExplorer'a я написал буквально за пару дней. Зато потом две недели провозился, пытаясь внести крошечное изменение в него. Работодатель возжелал, чтоб комбешники были размещены не просто внутри ячейки, а унаследовали класс редактируемой ячейки сетки. И на это ушло в десять раз больше времени, чем на решение этой задачи без этой фишки.
Форум на ASP2 я написал где-то за неделю. Одних контролов у него получилось два десятка. По два-три дня ушло на пауки, скрины с которых лежат на моей титульной странице. Где-то три месяца у меня ушло на банк. Месяца два на Прокси-сервер. Ну это все в комфортных домашних условиях. В условиях офиса, думаю, производительность будет где-то раза в три ниже. Уж больно много сил уходит вхолостую на пробки, пустопорожнюю болтовню в офисе. К тому же работать по расписанию гораздо сложнее, чем по своему внутреннему ритму...
|