|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 04 May 2002 12:29:15 To : "Kostya Lesnichenko" Subject : Re: Ускорении процесса разработки -------------------------------------------------------------------------------- Здравствуй, Kostya Lesnichenko. KL> Заранее спасибо всем, кто проявит интерес к данной, надеюсь, актуальной, KL> теме. KL> Все началось с того, что появилась необходимость переоборудовать и всячески KL> дополнить ранее разработанный проект, написанный на заре изучения концепций KL> программирования. Hо что-же случилось? Правильно подумали - отсутствие в KL> проекте каких-либо концепций, коме одной - "лишь бы заработало!" KL> Так появились идеи, точнее толчки и поползновения в сторону ООП. Чем все KL> закончилось так же не трудно предположить. Попытки как-нибудь KL> стандартизировать весь процесс разработки, так пропогандируемый в ООП, KL> оказался неприменимым для меня. Может лень а может еще что, однако нет сил KL> описывать каждый раз все методы, коих может набраться до 300 штук. KL> Итак хочется узнать мнение гуру и всех кто себе на уме... По возможности KL> можно и готовые проекты показать. Давайте помагать друг-дружке! Вопрос-то в чем? В методологии? Есть такое слово refactoring. Hайди по нему книжку (если я правильно ошибаюсь, классическая ищется по автору Фаулер, и кажется, не переводилась) и почитай. В общих чертах процесс тупой как пятка, но требующий аккуратности: если тебе надо что-то поменять, ты пишешь набор автоматических тестов на имеющуюся функциональность, затем меняешь как тебе сегодня больше понравилось, после _каждого_ _мелкого_ шага прогоняя тесты, дабы убедиться, что ты не сломал ничего. Если добавляешь новую функциональность, то сначала добавляешь тесты на нее и убеждаешься, что они не проходят (исключительно ради того, чтобы убедиться в том, что оная функциональность еще отсутствует), затем добиваешься, чтобы проходили. Тесты считаются проходящими, если они проходят _все до единого_. Если ты хочешь добавить новую функциональность, а для этого хочется что-то отрефакторить, то _сначала_ выполняется рефакторинг (при этом допустим отвал тестов на новую функциональность, естественно), и только потом - добавление. Так ты получаешь выпрямление кода только в том месте, в котором ты работаешь _сегодня_. Что уже вполне обозримая работа. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14454aedf9855.html, оценка из 5, голосов 10
|