Juan-Carlos Gandhi (
juan_gandhi) wrote2007-02-14 11:02 am
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
refactoring example
Тут Джош Керевски и Майк Хилл приводят пример TDD рефакторинга - приехали они в Эстонию, помогать Ээсти Панку разгребать их авгиевы конюшни. На конюшне куча джава-кода, у которого и сорса нету - рекомпилирован с классфайлов.
Я гляжу на этот код, и думаю, как же так вышло. Ведь наверняка этот Ээсти Панк кинул разработчиков, не заплатив им, и разработчики, обматерив жадных эстонских банкиров, ломанулись зарабатывать деньги в Швецию, Германию, а то и в США. Ну или в Москву. И вот так возникает экзотика.
Я гляжу на этот код, и думаю, как же так вышло. Ведь наверняка этот Ээсти Панк кинул разработчиков, не заплатив им, и разработчики, обматерив жадных эстонских банкиров, ломанулись зарабатывать деньги в Швецию, Германию, а то и в США. Ну или в Москву. И вот так возникает экзотика.
no subject
Оно делалось в английском офисе. Английски офис во-первых всегда плохо дружил с version control systems, во-вторых с тех пор перешли на другую VCS. Но образ машины, где оно делалось, сохранили. На машине этой обнаружился портированный ODM более старой версии и непортированный ODM последней версии, в котором требовалось починить глюк. Где был портированный ODM последней версии - знал только человек, который его делал, и он к тому времени уже пару лет как в компании не работал, да и то в любом случае оно к тому времени не сохранилось.
Или вот если представить, что кто-нибудь внезапно захочет оживить Caldera OpenLinux - это же сейчас рожки да ножки собрать будет очень нетривиально.
То есть, фокус в том, что кто-то что-то делает и знает, как оно делается, и где лежат части. Потом этот человек уходит и знание теряется. Даже если оно кому-то передается, то половина знания потеряется. Даже если все написать на бумаге, то получивший эту бумагу ее в итоге потеряет. И когда проект вот так пройдет через четвертую смену ответственного за него, концов будет напрочь не найти. Особенно если один из людей по пути был идиотом.
Я так думаю, что все надо писать в нечто типа Вики, которую регулярно сохранять в шкаф. Аналогично с VCS, содержащей весь свой код и все побочные бинарники, необходимые для построения.
no subject
... а стартовый ввод для spinup устройства доступа, это гранитные плиты с высеченными на них пиктограммами - как строить самую грубую модель data reader. Или - многоэтапная цепь, где вначале - каменные плиты с пиктограммами, посередине - какие-то промежуточные шаги, а в конце - всё те же каменные плиты, но уже с записью данных на атомарном уровне :)
no subject
no subject
no subject
no subject
(Anonymous) 2007-02-15 03:47 am (UTC)(link)no subject
no subject
и ни разу это унесенное не применяется. потому что в современном проекте инфраструктура и процесс - все.