19.2.3.4. Выполняйте контроль ошибок в коде перед выпуском версии

19.2.3.4. Выполняйте контроль ошибок в коде перед выпуском версии

Под "контролем ошибок" (sanity check) здесь подразумевается использование всех доступных инструментов, обладающих приемлемой способностью к обнаружению ошибок, которые человек склонен пропускать. Чем больше таких ошибок обнаружат данные инструменты, тем меньше пользователям и самому разработчику придется с ними бороться.

При написании программ на C/C++ с использованием GCC рекомендуется выполнять тестовую компиляцию с параметром -Wall и устранять все ошибки перед каждым выходом новой версии. Кроме того, стоит компилировать код всеми доступными компиляторами — разные компиляторы часто обнаруживают различные проблемы. В частности, скомпилируйте программу на машине с действительно 64-битовой архитектурой. Базовые типы данных могут изменяться на 64-битовых машинах, и поэтому в них часто обнаруживаются новые проблемы. Найдите систему Unix-поставщика и запустите утилиту lint для проверки программы.

Используйте инструменты, которые ищут утечки памяти и другие ошибки времени выполнения. Программы Electric Fence и Valgrind — хорошие инструменты, доступные в виде открытого исходного кода.

Для Python-проектов полезным инструментом проверки может оказаться программа PyChecker chttp: //sourceforge .net/projects/pychecker>. Она часто обнаруживает нетривиальные ошибки.

При написании программ на Perl проверять код следует с помощью ключа -с (и возможно -Т, если он применим). Используйте ключ -w и конструкции "use strict". (Дальнейшую информацию можно найти в документации на Perl.)

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

19.2.3.3. Тестируйте код перед выпуском версии

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.3. Тестируйте код перед выпуском версии Хороший тестовый комплект позволяет коллективу легко выполнять возвратные тесты перед выпуском новых версий. Рекомендуется создавать устойчивую, полезную структуру теста, для того чтобы можно было последовательно добавлять


19.2.3.4. Выполняйте контроль ошибок в коде перед выпуском версии

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.4. Выполняйте контроль ошибок в коде перед выпуском версии Под "контролем ошибок" (sanity check) здесь подразумевается использование всех доступных инструментов, обладающих приемлемой способностью к обнаружению ошибок, которые человек склонен пропускать. Чем больше таких


19.2.3.5. Проверяйте орфографию в документации и README-файлах перед выпуском версии

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

19.2.3.5. Проверяйте орфографию в документации и README-файлах перед выпуском версии Проверяйте грамотность документации, README-файлов и сообщений об ошибках в программе. Сырой код, т.е. код, который вызывает появление сообщений об ошибках при компиляции и имеет орфографические


19.2.3.3. Тестируйте код перед выпуском версии

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

19.2.3.3. Тестируйте код перед выпуском версии Хороший тестовый комплект позволяет коллективу легко выполнять возвратные тесты перед выпуском новых версий. Рекомендуется создавать устойчивую, полезную структуру теста, для того чтобы можно было последовательно добавлять в


19.2.3.5. Проверяйте орфографию в документации и README-файлах перед выпуском версии

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

19.2.3.5. Проверяйте орфографию в документации и README-файлах перед выпуском версии Проверяйте грамотность документации, README-файлов и сообщений об ошибках в программе. Сырой код, т.е. код, который вызывает появление сообщений об ошибках при компиляции и имеет орфографические


20.9.6 Проблемы версии 1, исправленные в версии 2

Из книги VBA для чайников автора Каммингс Стив

20.9.6 Проблемы версии 1, исправленные в версии 2 Следующие свойства SNMP версии 1 были не слишком удачны:? Если одна из переменных в запросе get или get-next была некорректна, то отбрасывалось все сообщение.? Если запрашивались значения нескольких переменных и агент не мог


22.5.4 Взаимодействие адресов версии 6 с сетями версии 4

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

22.5.4 Взаимодействие адресов версии 6 с сетями версии 4 Еще один специальный формат используется узлами версии 6, которые связываются друг с другом через промежуточные сети версии 4 (это называется туннелями IPv4). Как показано на рис. 22.1, интерфейсам на границах должны быть


65. Выполняйте настройку явно и преднамеренно

Из книги Язык Си - руководство для начинающих автора Прата Стивен

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


11.7.2. Изменения в коде

Из книги Флибуста. Обратная сторона [Инструкции по установке и запуску i2p, TOR и VPN для «чайников». v. 1.1] автора Коллектив авторов

11.7.2. Изменения в коде Как только в parseCommand() будут правильно отражены структуры данных, то запуск команд в правильном порядке становится довольно простым при достаточном внимании к деталям. Прежде всего, мы добавляем цикл в parseCommand() для запуска дочерних процессов,


Закладки в программном коде

Из книги Как тестируют в Google автора Уиттакер Джеймс

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


Что это за странные конструкции $ifdef в коде?

Из книги Разработка ядра Linux автора Лав Роберт

Что это за странные конструкции $ifdef в коде? Все коды примеров, представленных в книге, за несколькими специальным образом помеченными исключениями, будут компилироваться в средах Delphi1, 2, 3, 4, 5 и 6, а также Kylix 1. (Впрочем, должны поддерживаться и будущие версии компиляторов.


Контроль ошибок

Из книги автора

Контроль ошибок Существует широко распространенная проблема, связанная с вводом в машину данных, которые должны использоваться определенным образом. Один из методов ее решения состоит в "контроле ошибок". Это означает, что, перед тем как приступить к обработке данных,


Проверка версии Java и установка нужной версии

Из книги автора

Проверка версии Java и установка нужной версии 1. Требования к установке I2P Перед установкой I2P необходимо проверить, какая версия Oracle Javaу Вас установлена на компьютере (рекомендуется Oracle Java 6/7).Узнать, какая версия Java установлена на Вашем компьютере можно, набрав в


Тестирование перед выпуском

Из книги автора

Тестирование перед выпуском Тестируется каждый «релиз-кандидат» сборки, для всех каналов.— Совместимость с сайтами. Команда тестирования браузера Chrome проверяет 100 самых популярных сайтов на Chrome OS.— Тестирование сценариев. Проверка всех демосценариев Chrome OS, которые


Блокировки в вашем коде

Из книги автора

Блокировки в вашем коде Обеспечение безопасности кода при SMP-обработке — это не то, что можно откладывать на потом. Правильная синхронизация, блокировки без тупиковых ситуаций, масштабируемость и ясность кода- все это следует учитывать при разработке с самого начала и до