Оригинал: Part V: Parsing Text
Переводчик: 飞龙
Лицензия: CC BY-NC-SA 4.0
Гордо использует Google Translate
Эта часть книги научит вас работать с текстом, особенно это будет начало официального парсинга текста. Поэтому я не буду затрагивать все различные теоретические элементы теории программирования, поскольку это целый университетский курс. Это всего лишь простое и незамысловатое начало парсинга текста, которое можно использовать во многих программах.
Большинство программистов имеют странные отношения с парсингом текста. Каждый раз, когда вы пишете компьютерную программу, вы работаете над парсером. Парсинг данных является одной из самых понятных и формализованных областей в информатике. Парсинг присутствует повсюду в вычислениях. Его можно найти в сетевых протоколах, компиляторах, электронных таблицах, серверах, текстовых редакторах, графических рендерерах, а также в любом устройстве, имеющем человеко-машинный или другой компьютерный интерфей. Даж selbst wenn zwei Maschinen einen festen binären Protokoll senden, obwohl es kein Text gibt, existiert immer noch ein Niveau des Parsings.Я научу вас парсингу, потому что это надёжная технология, которая может обеспечивать надёжные результаты. Когда вы сталкиваетесь с надёжной обработкой некоторых входных данных и предоставлением точных ошибок, вы обращаетесь к парсеру, а не пытаетесь сделать это вручную. Кроме того, после изучения основ парсинга становится легче учиться новым языкам программирования, поскольку вы сможете понять их грамматику.## Краткое введение в покрытие кода
Покрытие кода — это метрика, используемая для измерения того, сколько кода было проверено тестами. Она может быть представлена в виде процентного соотношения, где 100% означает, что все строки кода были выполнены хотя бы один раз во время выполнения тестов.
Покрытие кода обычно рассчитывается путём анализа логических условий и ветвлений в коде. Это позволяет определить, какие части кода были достигнуты во время выполнения тестов.
Покрытие кода важно потому, что оно помогает разработчикам убедиться, что их тесты охватывают большую часть кодовой базы. Это способствует более надёжному программному обеспечению, поскольку увеличивает вероятность того, что будут найдены ошибки до выпуска продукта.
Существуют различные инструменты, которые можно использовать для анализа покрытия кода, такие как:
Эти инструменты позволяют получить детализированную информацию о том, какие части кода были охвачены тестами, и какие части остаются непроверенными.
Для улучшения покрытия кода рекомендуется регулярно проводить анализ покрытия и корректировать тесты таким образом, чтобы они охватывали максимальное количество кода. Это может включать в себя создание новых тестовых случаев, переработку существующих тестов и использование различных стратегий тестирования, таких как единичное тестирование, интеграционное тестирование и функциональное тестирование.
Таким образом, покрытие кода играет важную роль в процессе разработки программного обеспечения, помогая убедиться, что тесты охватывают достаточное количество кода для обеспечения его качества и надёжности.В этой части вы всё ещё должны попытаться декомпилировать и проанализировать любой код, который вы пишете. Новое, что я добавил в эту часть, — это концепция покрытия кода. Идея покрытия кода заключается в том, что вы действительно не знаете, тестировали ли вы большую часть случаев при создании автоматических тестов. Вы можете использовать формальную логику для создания теории, что вы покрыли всё, но мы знаем, что человеческий мозг очень сложно находит недочёты в своих мыслях. Вот почему вы используете цикл "создай, затем критикуй" в этой книге. При попытке создания чего-то вам трудно анализировать свои идеи. Кодовое покрытие — это метод, который хотя бы позволяет понять, что вы тестируете в вашем приложении. Оно не найдёт все ваши ошибки, но по крайней мере покажет, что вы достигли каждого возможного пути выполнения кода. Без покрытия вы фактически не знаете, тестировали ли вы каждый путь. Отличным примером является обработка ошибок. Большинство автоматических тестов проверяет лишь наиболее надёжные условия и не проверяет обработку ошибок. Когда вы запускаете покрытие кода, вы обнаруживаете все те способы, которыми забыли протестировать код обработки ошибок. Покрытие кода также может помочь вам избежать чрезмерного тестирования кода.Я работал над проектом, которым занимались энтузиасты разработки с привлечением тестов (TDD), и они гордились соотношением тестов/кода 12 к 1 (то есть каждая строка кода имела 12 строк тестов). Простой анализ покрытия кода показал, что они тестировали лишь 30% кода, причём многие строки тестировались одинаковым образом от 6 до 20 раз. В то же время простые ошибки, такие как исключения в запросах к базе данных, вообще не тестировались и вызывали частые сбои. В конечном итоге эти наборы тестов стали бременем, препятствием для развития проекта и просто поглощали время разработчиков. Недаром так много компаний по внедрению агилных методик ненавидят покрытие кода.В этом видеоуроке вы увидите, как я провожу тесты и использую покрытие кода для подтверждения того, что я тестирую. Прошу вас сделать то же самое и предоставлю вам инструменты, чтобы это было легко выполнить. Я продемонстрирую, как читать результаты анализа покрытия кода и как гарантировать, что вы эффективно тестируете всё, что можно тестировать. Цель — создать полный автоматизированный набор тестов, который не будет тратить ваше время попусту, поэтому вы не будете тестировать 12 раз всего лишь 30% кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )