Разработка программного обеспечения является сложной и многогранной задачей. И хотя многие задачи, с которыми мы сталкиваемся в процессе работы, являются уникальными, многие решаются сходным образом. "Программирование станет более эффективным, если программисты будут тратить меньше времени на рутинные, повторяющиеся части своей работы, чтобы иметь возможность более продуктивно решать действительно уникальные проблемы".
Поскольку в процессе работы нам приходится решать задачи разного уровня, существуют разные шаблонные решения. Когда мы анализируем архитектурные решения - нам помогают шаблоны корпоративных программных приложений Мартина Фаулера, когда мы сталкиваемся с проблемами проектирования - на помощь приходят шаблоны "банды четырех", когда перед нами появляется задача улучшения существующего кода - мы обращаемся к рефакторингу, со своими собственными шаблонами. При программировании мы также сталкиваемся с одинаковыми задачами, и здесь будут полезны шаблоны реализации, описанные в этой книге.
Идея шаблонов реализации не нова, просто другие авторы называли это как-то иначе. Автор рассказывает о вреде магических цифр, о важности именования, о вреде дублирования, об исключениях, о сторожевых условиях, о самодокументировании, об инкапсуляции коллекций, о локализации изменений, о проблеме выбора между интерфейсом и базовым классом и о многом другом. Основные идеи книги: программа пишется для человека, а не для компьютера; большая часть бюджета уходит не на разработку программы, а на ее сопровождение; нужно общаться с другими программистами через код и стремиться к качественному коду.
В целом, достаточно интересно и занимательно, если бы не ряд "но".
Во-первых, практически все, о чем пишет автор, уже рассказывали другие авторы, причем многие делали это красивее и убедительнее.
Во-вторых, это перевод. Книга называется "Шаблоны реализации корпоративных приложений", причем "корпоративные приложения" придуманы отечественными локализаторами и в названии оригинала не фигурируют. Если следовать принципам, на основе которых переведена эта книга, то она должна называться так: "Паттерны имплементации интерпрайзных аппликаций". В книге в огромном количестве встречаются "имплементации", "репрезентации", "вариации", "декларации" и множество других неверно переведенных терминов. При чтении мне вспомнился перевод инструкции к усилителю Pioneer: "Усилитель предназначен для подключения дигитальных компонентов с трехдиминзионным звуком". Помимо ужасного перевода терминологии, многие предложения построены так, что понять замысел автора практически невозможно. К этому нужно добавить Smalltalk прошлое Кента Бека и его непривычную терминологию, которая добавляет сложность к восприятию материала.
Вообще очень сложно определить целевую аудиторию книги. Переводчики подготовили большое количество головоломок, которые вам не отгадать без соответствующей подготовки. Но с другой стороны, если эти темы вам известны, то ничего нового вы не узнаете. Конечно, можно купить эту книжку (кстати, за большие деньги для книжки из 140 полезных страниц), за пару вечеров разгадать загадки переводчиков и поставить ее рядом с другими книжками этой серии. Но стоит ли это того? Я не уверен.
Комментариев нет:
Отправить комментарий