Я понял, чем мне не нравится «экстремальное программирование» (XP). Дело в том, что XP продвигает идею перманентного рефакторинга как альтернативу разработке концепций, построению идеологии, всяким фреймфоркам, и т.д., и т.п. Код является главным (и единственным) артефакторм XP, всё остальное побочно.
Это хорошо работает для программистских коллективов, у которых нет мощного software enginering'а. Грубо говоря, если у нас нет хорошего специалиста по объектно-ориентированному дизайну, то XP — действительно хороший выход. Именно поэтому такая практика XP, как «метафора системы», реализуется из рук вон плохо: это как раз задача для архитектора, а не кодера.
Ну а лично я предпочитаю решать програмы не руками (рефакторингом), а изначально продуманной концепцией, или, что ещё интереснее — адекватным подходом к решению задачи.
Upd.: Приду домой, снесу почту... То-то радости будет... Ну вы и флеймеры, блин. Я же всего лишь вкратце описал свою точку зрения, а вы,.. а вы!.. :)))
Это хорошо работает для программистских коллективов, у которых нет мощного software enginering'а. Грубо говоря, если у нас нет хорошего специалиста по объектно-ориентированному дизайну, то XP — действительно хороший выход. Именно поэтому такая практика XP, как «метафора системы», реализуется из рук вон плохо: это как раз задача для архитектора, а не кодера.
Ну а лично я предпочитаю решать програмы не руками (рефакторингом), а изначально продуманной концепцией, или, что ещё интереснее — адекватным подходом к решению задачи.
Upd.: Приду домой, снесу почту... То-то радости будет... Ну вы и флеймеры, блин. Я же всего лишь вкратце описал свою точку зрения, а вы,.. а вы!.. :)))

no subject
Date: Friday, February 25th, 2005 01:54 pm (UTC)А перманентный рефакторинг -- всего лишь инструмент поддержания кода в адекватной форме (простота, понятность, отстутсвие перекосов принципов объектного программированя, легкая изменяемость и т.п.)
no subject
Date: Friday, February 25th, 2005 01:57 pm (UTC)А "концепция перестаёт быть валидной" - не смеши мои тапочки. Это что же, концепцию писать одну и на все случаи жизни? При изменении задачи заказчиком пользоваться старой концепцией? Ох, да это ж типичная проблема плохого OOD.
no subject
Date: Friday, February 25th, 2005 02:01 pm (UTC)проблема OOD before coding заключается в том, что человек придумывает его по большей части "из головы", а на практике он дааалеко не всегда удобен. Тогда как же его лучше придумывать? Есть логичный ответ - через первичные тесты, на которых ты сразу опробуешь (ненаписанный!) дизайн твоих классов, и напишешь код, который соответствует ожиданиям твоих тестов. Вот это и будет грамотный OOD, как +- золотая средина между "абсолютной нормализованностью" и практичностью. Что до его изменения, когда он перестанет подходить -- в случае покрытия кода unit test'ами, перманентного рефакторинга и (что очень важно для реального мира!) грамотного refactoring browser'а стоимость вносимых изменений очень низка.
no subject
Date: Friday, February 25th, 2005 02:06 pm (UTC)Абсолютного ничего не бывает. "Проект, который никогда не изменится" - это большинство коммерческих проектов: есть проблема, надо её решить. При правильной постановке задачи проблема решается на корню и забывается напрочь; "развитие проекта" и привинчивание фишек - это уже не решение задачи, а удовлетворение амбиций.
Кроме того, расширяемность проекта может быть заложена изначально в дизайн системы. Важно определить направление, в какие стороны у нас может расти функциональность, и предусмотреть это в ТЗ.
no subject
Date: Friday, February 25th, 2005 02:22 pm (UTC)После этой фразы можно подумать, что ты никогда не занимался разработкой чего-то крупнее тетриса :) Во время разработки изменяется ЛЮБОЙ проект, который чуть-чуть крупнее Hello, World!
Изначально, все возможности расширения в дизайн не влезут, ибо их, грубо говоря, бесконечное количество.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 03:20 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 02:08 pm (UTC)"Проблема" эта заключается в уровне компетентности и опыте архитектора.
Тогда как же его лучше придумывать? Есть логичный ответ - через первичные тесты, на которых ты сразу опробуешь (ненаписанный!) дизайн твоих классов, и напишешь код, который соответствует ожиданиям твоих тестов.
Ещё одна из практик. Но это морока архитектора, а не кодера!
no subject
Date: Friday, February 25th, 2005 02:30 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:Re: а вот тебе кирпич вдогонку! :)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 02:19 pm (UTC)То есть, мы заменяем мозги и руки программиста на продвинутый IDE?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 05:06 pm (UTC)no subject
Date: Friday, February 25th, 2005 05:14 pm (UTC)а индусы разные бывают, многие пишут более чем толково.
no subject
Date: Friday, February 25th, 2005 06:23 pm (UTC)Нормального программиста при нормальной ситуации на рынке труда не заставишь работать в паре с кем-то ещё, ему отдельный кабинет подавай, желательно с окном. :) Это аксиома, а из неё вытекает вывод о том, для кого предназначено "экстремальное" программирование.
no subject
Date: Friday, February 25th, 2005 06:43 pm (UTC)no subject
Date: Friday, February 25th, 2005 06:44 pm (UTC)no subject
Date: Friday, February 25th, 2005 06:47 pm (UTC)Нормального программиста при нормальной ситуации на рынке труда не заставишь работать в паре с кем-то ещё, ему отдельный кабинет подавай, желательно с окном. :)
Сколько работаю - никогда у меня не было отдельного кабинета. И ни у одного программера не видел отдельного кабинета. Одна комната на всю контору где-нибудь на Борщаговке - вот такое видеть приходилось.
А на тему "заставить работать в паре" - ну, это ты шутишь так? ХР применяется довольно активно и в весьма дорогих конторах; неужто ты думаешь, что их там насильно заставляют (и не отпускают)?
(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 06:47 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 05:20 pm (UTC)no subject
Date: Friday, February 25th, 2005 05:31 pm (UTC)no subject
Date: Friday, February 25th, 2005 05:36 pm (UTC)no subject
Date: Friday, February 25th, 2005 05:38 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 05:37 pm (UTC)она таки не всегда работает (не бывает silver bullet!) но по возможности в таких задачах, где полновесный XP не работает, некоторые его практики стоит рассмотреть к принятию
такая моя позиция :)
no subject
Date: Friday, February 25th, 2005 05:38 pm (UTC)(*) а вот "Метафора системы" - это чертовски полезная практика!..
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: Friday, February 25th, 2005 05:37 pm (UTC)«Лукойл», «Камаз», «Норильский никель»
Грузили ссылочку весь день
С заветной темою про Сикель…
no subject
Date: Friday, February 25th, 2005 06:48 pm (UTC)no subject
Date: Friday, February 25th, 2005 07:21 pm (UTC)