?

Log in

No account? Create an account

Пт, 2 июл, 2010, 01:53
Книги: июнь

«97 этюдов для архитекторов программных систем»

Сборник небольших, на один листик, эссе на околоархитектурные темы, написанных разными, мне неизвестными (большей частью) авторами.

Высказанные в книге мысли, если взять их по отдельности, вполне разумны (большей частью). Однако после прочтения их всех вместе, в голове образуется некий винегрет, украшенный сверху вопросом: «Дык и?». Формат эссе уместен для колонки «советы экспертов» какого-нибудь софтверного журнала, выходящего раз в месяц. В книге же темы достойны как более глубокого рассмотрения, так и продуманной последовательности изложения. Увы.

W. Strunk Jr. and E. B. White, «The Elements of Style»

Классическая книга по грамотному использованию английского языка. Наравне с A Pattern Language Кристофера Александера, Elements of Style является одной из немногих непрограммистских книг, цитируемой программистами: достаточно вспомнить The Elements of Programming Style Кернигана и Плоджера.

Книга тонкая, сотня страниц небольшого формата, но плотность полезной информации очень высока. Люблю такие книги! А самое ценное, что изрядная её часть посвящена общим принципам композиции и стиля, которые применимы не только к английскому языку, но и любому другому. Включая языки программирования.

Вот не люблю Макконнелла; он считает сравнение программирования с писательством неправильным: «Согласно литературной метафоре разработка программы похожа на написание письма: вы садитесь за стол, берете бумагу, перо и пишете письмо с начала до конца. Это не требует никакого формального планирования, а мысли, выражаемые в письме, формулируются автором по ходу дела».

In some cases, the best design is no design, as with love letter, which is simply an outpouring, or with a casual essay, which is ramble. But in most cases, planning must be a deliberate prelude to writing.

«Закончив писать письмо, вы запечатываете его в конверт и отправляете. С этого момента изменить вы его не можете, и письмо во всех отношениях является завершенным. Изменить ПО не так уж трудно, и вряд ли работу над ним можно когда-нибудь признать законченной» — упорствует Макконнелл.

Revising is part of writing. Few writers are so expert that they can produce what they are after on the first try. Quite often you will discover, on examining the completed work, that there are serious flaws in the arrangement of the material, calling for transpositions.

Ну и кроме того, посмотрите на некоторые правила, проповедываемые в книге:

  • make a paragraph the unit of composition;
  • put statements in positive form;
  • omit needless words;
  • express coordinate ideas in similar form;
  • keep related words together;
  • be clear.
В каждом я узнаю принципы качественного программирования!

Пн, 5 июл, 2010 21:07 (UTC)
sergg_rw

Мне последнее время стала нравится идиома, реализуй самое простое, что будет работать. Все равно спроектировать правильно с запасом удается очень редко, и усилия оказываются потрачены зря. А "запас" добавите в следующий раз, когда он уложится в правило про самое простое, что будет работать. Главное не забывать про unit тесты, иначе правило не работает.

Вт, 6 июл, 2010 05:21 (UTC)
egorius

KISS — это наше всё! Он даже и без тестов работает, на самом деле :)