Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Цикл разработки ПО в домашнем проекте


Автор: ДобренькийПапаша 30.3.2011, 22:19
Вот появилась у вас идея разработки какого-то приложения. И заниматься вы будете этим дома. Какие инструменты вы будете использовать? Каков будет цикл разработки? С чего начнёте? Поделитесь опытом.

Автор: jonie 30.3.2011, 23:03
студия+mecrurial\git+акк на bitbuket.org\github.org соответственно, описание сделаю и бой.. как обычно в общем.

Автор: kemiisto 30.3.2011, 23:10
Поддерживаю предыдущего оратора. Правда, пользуюсь code.google.com. Сути не меняет. smile 

Автор: Gluttton 31.3.2011, 00:01
ДобренькийПапаша, я для разработки ASP.NET приложения создал три виртуальные машины (VirtualBox) на одной разрабатываю, на другой разворачиваю приложение, а на третьей у меня сервер непрерывной интеграции. В качестве приложения сервера непреывной интеграции использую Hudson CI. На той же машине развёрнут баг-трекер (Trac) и репозиторий (Subversion). При каждой сборки выполняю следующие основные шаги:
- удаляю артефакты от предыдущих сборок;
- делаю update рабочей копии svn'a;
- выполняю сборку БД из скриптов;
- компилирую приложение;
- генерирую к приложению документацию из комментариев;
- выполняю модульные и интеграционные тесты (NUnit);
- провожу статический анализ кода (Gendarme, StyleCopCmd);
- разворачиваю приложение (копирую необходимые файлы на другую машину и выполняю на ней необходимые скрипты);
- выполняю функциональные тесты (Selenium RC).
Специально заварил такую кашу - было очень интересно попробовать в учебных целях.
Много избыточно (например StyleCopSmd), но вот очень рекомендую писать тесты! Я хоть их и не правильно пишу (не по TDD'шному, т.е. я сначала пишу код, а потом к нему тесты) и не получаю полной выгоды от них (это со слов сторонников TDD), но очень и очень удобно, когда через месяц работы над проектом решаешь изменить что то в коде и если при этом, что то ломается, то ты это видишь тут же!
Функциональные тесты у меня вызвали неоднозначную реакцию. Как бы и удобно, но в то же время очень много времени оттягивают на себя ну и вообще... Они наверное очень удобны для Заказчиков.
Gendarme в некоторых случаях помогал находить ошибки (но это не от того, что утилита такая хорошая, а просто я такой бестолковый).
Генерировать документацию пожалуй тоже смысла особого нет. Хотя с другой стороны это обязывает комментировать код - тоже не плохо.
В общем как то так...

Автор: ДобренькийПапаша 31.3.2011, 00:02
Цитата(jonie @ 30.3.2011,  23:03)
описание сделаю

А как сделаете описание?

Gluttton, спасибо большое за ответ.

Автор: jonie 31.3.2011, 11:02
Gluttton, CI, docs, unit тесты, тест среды для домашнего проекта избыточны имхо..

Домашние проекты на то и домашние.

Суть такая: можно делать правильно, а можно делать неправильно, но быстро.
Я предпочитаю делать домашние вещи именно неправильно и быстро. Да, без тестов, без документации, без еще кучи всего вроде IDisposable и т.д. (конечно, всё это справдливо, если мы не делаем что-то что планируем далее использовать). Пофиг на хардкод - главное дома скорость - ведь время потраченное не вернуть, а заказчику в 99% случаев пофиг как это работет, и развивать это уже мб не вы будете 8-) Это непрофессионально, но таковы реалии жизни.

Всё это круто меняется, когда ваш код опенсорц (стыдно просто), или когда вы знаете что с кодом работаете не только вы или планируете его длительную поддержку...

Как док писать? Да в свободной форме, хоть на бумажке ручкой - какие-то схемки от руки набросанные (например взаимодействие слоёв). Какие-то XSD разбросанные хаотично по диску.

Например: неделю назад я начал писать робота для торговли на РТС (forts) и ММВБ. Обе биржи работают по своему протоколу (одна на plaza2, вторая на fix). У меня ушла неделя на то чтобы написать абстрактного робота, прикрутить его к ESB шине, описать на XSD протокол сообщений шинных, +нарисовать два не очень-то и простых адаптера. Сейчас вся эта мутатень представляет собой 12 сборок, поддерживает транзакционность и еще много чего можно накрутить, но сам робот правда еще не работает (логика не написана почти). Это при заложенном времени в три месяца - думаю я уложусь и доправлю что нахаржкодил (например имена конфиг файлов и т.п. мелочи)....

Ребят - время = деньги. Выбирайте чем жертвовать 8) И вообще лучше пива выпейте)

Автор: ДобренькийПапаша 31.3.2011, 11:46
jonie, спасибо больше. В принципе, мне всё ясно, вопросов больше нет. Если у кого-то кто придёт в тему будет желание - пусть расскажет о своём опыте - всё равно интересно как у кого идёт домашний процесс.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)