A single book I wish I had earlier
Не так давно я купил книгу, которую хотел бы прочесть еще классе в девятом: С. А. Орлов «Технологии разработки программного обеспечения» (ISBN 5-94723-820-9).
Я вообще люблю хорошие технические книги русских авторов, но настолько адекватного изложения сложно найти и в англоязычной литературе.
— исчерпывающее изложение методов и процессов, включающее и методику Джексона (ассоциирующуюся у меня со словом ancient), и XP, при этом отдельная глава посвящена UP;
— очень качественное объяснение принципов модульного проектирования (начиная с базовых понятий вроде cohesion/coupling) без привязки к ООП и с простыми примерами;
— описание количественных метрик (вкупе с кратким изложением уровней CMM — как бы вы к ним ни относились);
— введение в ООП и в проектирование баз данных (качественно и кратко);
— use case оставлено без перевода;
— примеры на Ada 95 :).
Недостатки:
— компонентный подход раскрыт неудачно (несмотря на почти-главу, ему посвященную);
— перевод английских терминов не соответствует общепринятому — я полагаю, в 2004 году, когда подготавливалось 3-е издание, refactoring уже следовало перевести как «рефакторинг» (хотя я и испытываю сладкую ностальгию по overload, переводимому как «совмещение» издательством «Мир» в стародавние времена);
— акценты в (также исчерпывающем) описании тестирования не соответствуют моим ожиданиям, что, возможно, объясняется давностью написания книги.
В целом рекомендую прочесть, если в чем-то из перечисленного вы чувствуете себя неуверенно или просто хочется получить вдохновение от хорошей книги (что временами помогает мне).