четверг, 17 ноября 2011 г.

97 этюдов

Книга, которую я читаю на работе за обедом - "97 этюдов для архитекторов программных систем". Это собрание типа умных мыслей разных чуваков, которые работают архитекторами программных систем и делятся опытом. Не сказать, что эта книга способствует более приятному усвоению пищи, но, как минимум, читается значительно легче, чем книжка про паттерны.

В книге полно очевидных вещей, практически, она полностью состоит из них. Видимо, архитекторам программных систем то ли жалко, то ли ссыкотно делиться настоящим опытом, и они пространно рассказывают о том, что профессия "архитектор программных систем" это такая профессия, которая занимается проектированием архитектуры программных систем, и так далее.

Есть то, что я счёл откровенной ересью и фигнёй. Некоторые умные мысли я бросал читать после первых же строчек и переворачивал страницу, особенно это касалось женских откровений о архитектуре и разработке и ещё одного архитектора, который мне сразу показался мудаком.

Ну нельзя сказать, что я не почерпнул оттуда умных мыслей. Среди такого собрания архитекторов программных систем, которых я далее буду называть для краткости АПС, и их глубоких мыслей не могла не затесаться хотя бы парочка умных людей, которые не боятся называть вещи своими именами и давать действительно полезные советы. В силу этого обстоятельства некоторые статьи и советы имеют совершенно противоположную направленность.

А что касается умных мыслей - я прочитал там слова "цикломатическая сложность программы" и даже не до конца понял, что это такое, после прочтения статьи в Википедии (кстати, этот мужик википедийный опять своё лицо показывает на в заголовках страниц, видимо, снова просит денег). Это что-то связанное с запутанностью графа выполнения программы. Некоторое время после этого я сидел и думал, каким образом строить граф программы, которая может выполняться в несколько потоков, начинается из нескольких разных входных точек, имеет блокирующие семафоры, общие части и изменяемый по ходу выполнения код. Ну, я имею в виду джаваскрипт, который в зависимости от того, куда пользователь тыкает мышкой, асинхронно связывается с сервером, получает оттуда куски html, которые вставляет в нужные места, и куски джаваскрипта, который скармливает в eval. Причём эта шаткая структура сейчас находится в состоянии активной доработки и залатывания дыр, в связи с чем обрастает новыми подробностями с пугающей быстротой. К счастью, это всё ещё можно достаточно легко отлаживать.

Пожалуй, приложу картинку с берёзками.


Такие берёзки почти у меня под окнами растут. Вот уеду в Рио-де-Жанейро, а там берёзок нет. Одолеет ностальгия, посмотрю на эту картинку, и сразу легче станет.

Комментариев нет:

Отправить комментарий

Ублюдочный Гугл поломал форму комментариев. Извините.