Не трогайте мышь и отойдите от клавиатуры





Скачать 360.39 Kb.
НазваниеНе трогайте мышь и отойдите от клавиатуры
страница6/8
Дата публикации21.08.2013
Размер360.39 Kb.
ТипДокументы
100-bal.ru > Философия > Документы
1   2   3   4   5   6   7   8

Вернись и автоматизируй, автоматизируй, автоматизируй...


Кэй Хорстман (Cay Horstmann)

Я работал с программистами, которые в ответ на просьбу посчитать количество строк кода в модуле открывали файлы в текстовом процессоре и пользовались его функцией «счетчик строк». То же самое они повторяли через неделю. И еще через неделю. Это было плохо.

Я участвовал в проекте, где была установлена утомительная процедура развертывания, требовавшая подписать код, переместить его на сервер и выполнить много щелчков мышью. Кто-то автоматизировал ее, и этот скрипт запускался сотни раз во время финального тестирования – гораздо чаще, чем ожидалось. Это было хорошо.

Так почему же люди делают одну и ту же работу многократно, вместо того чтобы остановиться и потратить время на ее автоматизацию?

Распространенное заблуждение №1: Автоматизация нужна только для тестирования

Конечно, автоматизация тестирования – это замечательно, но зачем останавливаться на этом? В любом проекте изобилуют повторяющиеся задачи: управление версиями, компиляция, создание файлов JAR, генерация документации, развертывание и составление отчетов. Для многих из этих задач эффективнее использовать скрипт, а не мышь. Выполнение утомительных задач становится более быстрым и надежным.

Распространенное заблуждение №2: У меня есть IDE, поэтому мне не нужна автоматизация

У вас никогда не возникало споров с коллегами: «А на моей машине он загружается (компилируется/проходит тесты)»? В современных IDE есть тысячи настроек, и фактически невозможно гарантировать, что у всех участников команды настройки будут одинаковыми. Системы автоматизации сборки, такие как Ant или Autotools, предоставляют возможность контроля и сохранения параметров.

Распространенное заблуждение №3: Для автоматизации придется изучать экзотические инструменты

Можно успешно построить систему автоматизации с помощью хорошего языка оболочки (например, bash или PowerShell). Если требуется взаимодействовать с веб-сайтами, воспользуйтесь такими инструментами, как iMacros или Selenium.

Распространенное заблуждение №4: Я не могу автоматизировать эту задачу, потому что не знаю, как работать с файлами этого формата

Если ваш процесс требует работы с документами Word, электронными таблицами или графикой, автоматизация действительно может стать сложной проблемой. Но так ли вам необходимы эти форматы? А нельзя использовать обычный текст? Значения, разделяемые запятой? XML? Средства генерации графики из текстовых файлов? Часто достаточно немного изменить процесс, чтобы получить хорошие результаты и резко сократить утомительную работу.

Распространенное заблуждение №5: У меня нет времени со всем этим разбираться

Чтобы начать, вам не обязательно целиком изучить bash или Ant. Учитесь по холоду дела. Когда вы видите задачу, которую можно и нужно автоматизировать, изучите свои инструменты лишь настолько, насколько требуется в данный момент. И занимайтесь этим в самом начале проекта, когда обычно легче найти время. После первого удачного опыта вы (и ваш начальник) убедитесь, что есть смысл вкладывать силы в автоматизацию. Чорт, тоже всё хорошо. Порадовало заблуждение номер 5, бодрящее такое для тех кто ссыться.

Пользуйтесь инструментами для анализа кода


Сара Маунт (Sarah Mount)

Важность тестирования – это то, что вбивается в голову разработчиков программного обеспечения с самых первых их шагов на этом поприще. Широко распространившиеся в последние годы блочное тестирование, разработка на основе тестирования и методы ускоренного программирования свидетельствуют о росте интереса к максимально эффективному использованию тестирования на всех стадиях цикла разработки. Однако тестирование – лишь один из многочисленных инструментов, с помощью которых можно повысить качество кода.

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

Чтобы компенсировать этот недостаток, Стивен Джонсон написал инструмент под названием lint – для снятия лишнего ворса с вашего кода, – и реализовал в нем некоторые методы статического анализа, исключенные из компилятора C. Однако средства статического анализа прославились тем, что давали большое количество ложных предупреждений и предупреждений о нарушении стилистических правил, следовать которым необязательно.

Сегодняшний ассортимент языков, компиляторов и средств статического анализа весьма отличается от прежнего. Память и время ЦП стали относительно дешевы, поэтому компиляторы могут позволить себе проверку большего числа ошибок. Почти для всех языков существует хотя бы один инструмент, который выявляет нарушение стилистических правил, стандартные ошибки и иногда трудные для обнаружения ошибки типа возможного разыменования нулевого указателя. Более сложные инструменты типа Splint для C или Pylint для Python допускают настройку, т. е. возможность указать, о каких ошибках будет сообщать инструмент, с помощью файла конфигурации, параметров командной строки или настроек IDE. Splint даже позволяет аннотировать код с помощью комментариев, лучше поясняющих, как работает ваша программа.

Если эти средства не помогают и вам приходится искать простые ошибки или нарушения стандартов, которые не обнаруживают ваш компилятор, IDE или инструмент типа lint, можно написать собственный статический анализатор. Это не так трудно, как может показаться. Большинство языков, особенно те, которые называются динамическими, в составе своей стандартной библиотеки делают доступными абстрактное синтаксическое дерево и инструменты компилирования. Стоит заглянуть в дальние уголки стандартных библиотек, используемые разработчиками языка, с которым вы работаете, так как там можно встретить сокровища, полезные для статического анализа и динамического тестирования. Например, в стандартной библиотеке Python есть дизассемблер, который сообщит вам, какой байткод использовался для генерации некоторого скомпилированного кода или кодового объекта. Можно решить, что это некий непонятный инструмент, которым в команде разработчиков python-dev пользуются при создании компилятора, но на практике он оказывается удивительно полезным инструментом в повседневной работе. Например, с помощью этой библиотеки можно дизассемблировать последнюю трассировку стека и точно выяснить, какая команда байткода сгенерировала последнее неперехваченное исключение.

Так что не ограничивайте свой контроль качества одним тестированием: используйте инструменты для анализа и не бойтесь создавать свои собственные.
1   2   3   4   5   6   7   8

Похожие:

Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
Разработать обучающую программу, выдающую структурированную и наглядную информацию о работе клавиатуры, буфера клавиатуры, обработчиков...
Не трогайте мышь и отойдите от клавиатуры iconЛитература: Детские народные подвижные игры: Кн для воспитателей...
Игру начинает первая пара: кот ловит мышь, а та бегает вокруг играющих. В опасный момент мышь может спрятаться в коридоре, образованном...
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
СанПиН 4 178-02). В 2009-2010 учебном году кабинет был оснащен 10 новыми ученическими компьютерами (монитор, системный блок, мышь,...
Не трогайте мышь и отойдите от клавиатуры iconКурсовой проект по дисциплине «Системы программирования и операционные системы»
Резидентный обработчик прерываний от клавиатуры с подключением до системного обработчика
Не трогайте мышь и отойдите от клавиатуры iconИстория
Системные требования: Pentium 90,Win 95/NT, 16 Мб озу, монитор с разрешением 640х480, HiColor (не менее 32 тыс цветов), 4х cd-rom,...
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель урока: освоение клавиатуры — важнейшего устройства ввода информации в память компьютера
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
С помощью чего проще набрать текст? Двухкнопочной мыши или 102 клавишной клавиатуры?
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: познакомить учащихся с различными устройствами ввода информации в компьютер. Изучить назначения клавиш клавиатуры
Не трогайте мышь и отойдите от клавиатуры iconКомпьютер (арм учителя: монитор+системный блок+клавиатура+мышь)
Начальный курс географии 7 кл. География. Наш дом Земля. Материки, океаны, народы и страны
Не трогайте мышь и отойдите от клавиатуры iconМузыка
Подробная информация о более чем 100 музыкальных инструментов. История возникновения инструментов, возможность прослушать каждый...
Не трогайте мышь и отойдите от клавиатуры iconЛандер Кени «О чем думает Стив»»
Гений цифровой эры, придумавший компьютерную мышь, айфон и многое другое, без чего наша жизнь была бы совсем другой
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Свидетель» уже знала о том, что владеет великим сценарием и хотела присвоить ему звание Лучшего Оригинального Сценария еще до того...
Не трогайте мышь и отойдите от клавиатуры iconВ е д е н и е
Кроме того, к компьютеру могут подключаться принтер для вывода на печать текстовой и графической информации; мышь —устройство, облегчающее...
Не трогайте мышь и отойдите от клавиатуры iconКонспект занятия кружка «Компьютерный мир» 1 кл по теме «Манипулятор «мышь»
Построение парами. Переход на площадку. Построение в шеренгу. В центре площадки ребята образуют круг и делятся на две команды
Не трогайте мышь и отойдите от клавиатуры iconПрограмма по формированию навыков безопасного поведения на дорогах...
Продолжение темы Norton Utilities Программа Speed Disk. Программа WipeInfo и другие утилиты. Создание системной дискеты. Драйверы...
Не трогайте мышь и отойдите от клавиатуры iconТема урока: «Компьютер и его основные устройства». Тип урока
Опорные понятия: Периферийные устройства: системный блок, монитор, принтер, сканер, клавиатура, мышь, аудио система


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск