Practices of an Agile Developer

Наскоро ми препоръчаха тази книжка. Прочетох я и съм много доволен от акъла в нея. Покрива теми от идеите на гъвкавите методологии (итерации, unit тестове, продължителна интеграция), както и сравнително общи принципи (писане на качествен код, кохезия, защитно програмиране). От първото ще разберете както и основната идея на гъвкавата методология и защо може да ви е полезна, както и някои от тънкостите в прилагането ѝ. От второто ще намерите най-добрите неща от Code Complete, описани по-накратко (и по-достъпно, поне по мнението на двама колеги, които не харесват Code Complete, но харесаха тази книга). Особено ми хареса една секция, която говореше за добри практики за работа в екип – stand-up meetings, brown-bag lunches и разни други забавни и интересни неща. Определено научих доста от нея. Препоръчвам ви я и на вас.

Софтуерни метафори

Наскоро започна твърде често да ми се налага да обяснявам процеса на разработка на „нетехнически лица“. И тъй като е бая сложно да говориш за рефакторинг, редизайн и итерации на хора, които просто мигат на тези думички, си припомних мъдростта на Стив МакКонъл. В Code Complete имаше цяла глава, посветена на метафори за софтуерното разработване – бе го сравнил с писане на жудожествен текст, градинарство, игра и прочее. Безспорно най-доброто сравнение беше с изграждането на някаква постройка. Наистина, „сградостроенето“ е доста сходно до това което ние правим като програмисти. И на двете места си говорим за „архитектура“ и „инженери“, планирането е адски важно и има огромна разлика между строенето на лятна кухня и небостъргач… Continue reading