Программист-прагматик. Путь от подмастерья к мастеру |
29.01.2009 10:34 |
Обозрел: Алексей Лупан, тестировщик финансовых приложений. Заголовок: "Программист-прагматик. Путь от подмастерья к мастеру". Авторы: Эндрю Хант и Дэвид Томас. Первая публикация: 2000 год, издательство Addison-Wesley Longman. Русскоязычный перевод: московское издательство "Лори", 2004 год, переводчик А. Алексашин. Кому адресована книга Разработчикам программного обеспечения - Почему тестировщикам полезно прочитать эту книгу Тестировщик - роль в команде разработчиков. Тестировщик не проверяет работу программиста, тестировщик работает ВМЕСТЕ с программистом, это роль помощника. О чем рассказывается в книге О преимуществах прагматичного подхода как в плане подбора собственных инструментов для эффективной работы, так и в плане принятия правильных решений в процессе работы для решения задач. Каким языком написана книга Языком разума и опыта. Цитата Предположим, вы находитесь в экскурсионном вертолете, совершающем полет над Гранд-Каньоном, когда пилот, который совершил ошибку, наевшись рыбы за обедом внезапно вскрикивает и теряет сознание. По счастливой случайности это происходит, когда вы парите на высоте 30 метров. Вы догадываетесь, что рычаг управления общим шагом несущего винта обеспечивает подъем машины, так что, если его слегка опустить, вертолет начнет плавно снижаться. Однако когда вы пытаетесь сделать это, то осознаете, что жизнь — не такая уж простая штука. Вертолет клюет носом, и вас начинает вращать по спирали влево. Внезапно вы понимаете, что управляете системой, в которой каждое воздействие имеет побочные эффекты. При нажатии на левый рычаг вам придется сделать уравновешивающее движение назад правым рычагом и нажать на правую педаль. Но при этом каждое из этих действий вновь повлияет на все органы управления. Неожиданно вам приходится жонглировать невероятно сложной системой, в которой любое изменение влияет на все остальные управляющие воздействия. Вы испытываете феноменальную нагрузку: ваши руки и ноги находятся в постоянном движении, пытаясь уравновесить все взаимодействующие силы. Органы управления вертолетом определенно не являются ортогональными. Систему, спроектированную и реализованную ортогональным образом, намного проще тестировать. Для ясности В вертолете имеется четыре основных органа управления. Рычаг управления циклическим шагом несущего винта находится справа от пилота. При его перемещении вертолет движется в соответствующем направлении (вперед или назад). Слева от пилота расположен рычаг управления общим шагом несущего винта. Если потянуть за него, то произойдет увеличение шага на всех лопастях, и вертолет начнет подниматься. На конце рычага управления общим шагом расположен дроссель. И, наконец, есть две ножные педали, которые изменяют тягу на рулевом винте и способствуют повороту вертолета. Конечно, тут речь идет о тестировании на уровне программиста, agile-адепты найдут много знакомого в подходе к разработке через тестирование, но общие принципы тестирования программного обеспечения крайне занимательно и здраво изложены в других разделах книги. Подробнее про ортогональность можно глянуть на http://ru.wikibooks.org/wiki/%D0%9E%D1%80%D1%82%D0%BE%D0%B3%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C - раздел как раз составлен по материалам книги "Программист-прагматик. Путь от подмастерья к мастеру". Структура книги Книга состоит из кратких разделов, каждый из которых является законченным и посвящен опредеелнной теме. Разделы можно читать в любом порядке - эта книга не предназначена для чтения от начала до конца. Есть упражнения и вопросы, над которыми приятно порассуждать. Потом можно глянуть в конец книги, и удивиться предложенному нестандартному решению. Писать книги о технических сторонах работы девелоперов проще, чем о ее сути. Эндрю Хант и Дэвид Томас сумели написать о каких-то общих, метафизических сущностях так, словно описывали очень точные спецификации web-сервера Oracle. ЗЫ Автор отзыва полностью отвечает за то, что этот отзыв написан им самим. |