Три книги про отладку
Довольно давно я ищу информацию о систематических подходах к отладке приложений. Да и даже не приложений, а вообще инженерных конструкций, программных, аппаратных, социальных или других.
Три книги про отладку функциональных проблем, в порядке полезности, идут ниже.
-
David J. Agans. Debugging — The 9 Indispensable Rules for Finding Even the Most Elusive Hardware and Software Problems — 2002
Достоинства этой книги.- Она короткая — всего 108 страниц. Её действительно можно (и стоит) прочитать целиком. Правил всего девять (и я согласен с 8,5 из них).
- Она ультимативно прагматична. Всё, что описанно в ней, применимо в каждой ситуации, когда следует найти и устранить причины неисправного поведения.
- Методы, описываемые в книге, универсальны. Они применимы к любой
инженерной системе.Amazon
link,
link
-
Andreas Zeller. Why Programs Fail, 2nd Ed. A Guide to Systematic Debugging — 2009
В отличие от предыдущей, эта книга описывает более академический подход к отладке. Кого-то это оттолкнёт, кому-то, наоборот, понравится. Даётся минимальный формализм, определяются некоторые алгоритмы. Она более сфокусирована на программах. Однако описываемые в ней подходы (инструменты, дельта-отладка, поиск причин и следствий) не менее практически значимы. Хотелось бы видеть больше практических воплощений этих идей в используемых инструментах (отладчиках, трассировщиках, средах разработки).Amazon link, link
- Роберт М.Персиг. Дзэн и Искусство Ухода за Мотоциклом — 1974.
Оригинал: Rоbеrt M Pirsig. Zen and the Art of Motorcycle
Maintenance Эта
книга не совсем про отладку. И не про дзен. И не про мотоциклы. Она
— про всё это, и про ничего из этого. Чередование
автобиографического рассказа о путешествии, откровений
душевнобольного, истории отношений отца с сыном, экскурса в историю
философии и науки, рассуждений о сущности «качества», отношения
людей и техники. Секция об ~~отладке~~ обслуживании мотоцикла
встречается внезапно. Книга длинная (для современного читателя с
ограниченным окном внимания), но достойная. Изучавшие историю
философии в аспирантуре найдут в ней знакомые мотивы.
Перевод на lib.ru.
При отладке проблем с производительностью приложений, конечно же, также можно использовать приципы, описываемые в трёх этих книгах. Однако про производительность есть и другие книги, с более специализированными техниками. О них я напишу как-нибудь в другой раз.