| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .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. Сути не меняет. |
| Автор: 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 | ||
А как сделаете описание? 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, спасибо больше. В принципе, мне всё ясно, вопросов больше нет. Если у кого-то кто придёт в тему будет желание - пусть расскажет о своём опыте - всё равно интересно как у кого идёт домашний процесс. |