Книга: The Programmers
Надежда на инструменты
Надежда на инструменты
Использует ли разработчик социально нормальную стратегию паковщика, или хорош в картостроении, он будет подвержен сильному влиянию надежды на инструменты. Паковщик смотрит на инструмент как на машину, которая выполняет работу, как копир в углу офиса. Действительно, таким образом большинство из нас использует компиляторы — засунь исходник с одной стороны, исполнимый код выйдет с другой. Обычно здесь все нормально, хотя день, проведенный за чтением руководств по компилятору и компоновщику, многократно окупится.
Паковщики любят большие дорогие инструменты со сложным интерфейсом и неимоверно сложным внутренним состоянием. Они обещают делать все и требуют недель на установку и настройку. В них содержится множество сложных технологий. Все эксперименты заканчиваются плачевно. Среди шума легко потерять этот замалчиваемый глянцевыми рекламными проспектами факт. Программирование — это операция по обработке данных, которую этот продукт автоматизирует для вас, поэтому вы можете носить галстук, много улыбаться и быть «профессионалом» — вот что написано в рекламе.
Картостроители не рассматривают инструменты как копиры, они рассматривают их как протезы ума. Они — мыслительный эквивалент Рипли из фильма «Чужие» (Ripley in Aliens), взятой в рубку космического корабля, чтобы победить главное чудовище. Картостроители оставляют за собой ответственность за все и используют инструменты для расширения своего кругозора и силы мысли. Картостроители не любят помещать все свои штучки в один инструмент, где их другой и не найдет. Им нравятся коллекции инструментов и чтобы ввод/вывод был текстовым и анализируемым (parseable), так чтобы они могли объединять (соединять) инструменты вместе.
Картостроители считают разумным писать небольшие программы на лету, чтобы манипулировать исходным текстом. Они отдают себе полный отчет в том, что делают хорошо они, а что хорошо делают компьютеры, используя свои собственные суждения, когда проверяют каждый вызов, скажем, функции, чье определение они изменяют, а компьютер гарантирует, что они проверили каждое появление вызова функции в тексте.
Имеются великолепные инструменты картостроителя — браузеры, инструменты восстановления исходного текста (reverse engineering — дизассемблеры), даже некоторые «интегрированные среды разработки» (IDE). Однако, стоит держать в уме, чего можно достичь на большинстве систем просто с помощью нескольких скриптов и системного редактора. Одна команда пришла в волнение, когда им показали инструменты, которые давали им все возможности для просмотра и средства получения перекрестных ссылок. Но отличия между этими инструментами и пучком скриптов, которые у них уже были, и на написание которых понадобилось одно утро заключались в том, что:
Инструменты нельзя было модифицировать. Инструменты стоили 20,000 фунтов стерлингов плюс 5,000 фунтов стерлингов за рабочее место. Инструменты требовали несколько недель на установку и настройку. Инструменты были с графическим интерфейсом.
Когда кто-то с энтузиазмом рассказывает о новом продукте, остановитесь на минутку и проверьте, может быть правильной реакцией будет: «Ну и что?»
- Руководства по кодированию
- Кто украл мою мышку?
- Рецензии и анонсы
- Инспектирование кода и пошаговые проверки
- Стандарты кодирования и руководства по стилю
- Значимые метрики
- Надежда на инструменты
- Структуры программы — структуры проблемы
- Разбор полетов
- Уменьшение сложности и последовательное ужимание
- Бесконечная деградация «программных архитектур»
- Аудит качества
- Моя мечта и надежда
- Глава 8 Надежда во флаконах Сколько сто?ит здоровье, счастье и духовное просветление
- Надежда
- Другие инструменты для осуществления резервного копирования
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- 4.2. Инструменты создания обзора
- Инструменты
- Приложение 5. Инструменты администрирования
- VST-инструменты
- Инструменты рисования
- Правило успеха № 3. Знать и грамотно использовать инструменты выразительности и убедительности
- Поисковые машины и каталоги как инструменты раскрутки «боевых» интернет-ресурсов и наполнения их контентом