Для большинства программистов основное время работы — разработка и исправление ошибок.
Вполне возможно, что изменение одной ошибки приведет к созданию нескольких новых ошибок, и цикл продолжится.
Итак, есть ли способ уменьшить количество ошибок, обеспечить качество кода и повысить эффективность работы?
Ответ: да.
Если мы сможем это сделать, разве не было бы здорово, если бы у нас было больше времени ловить рыбу и заниматься тем, что нам нравится?
В этой статье мы поговорим о 10 советах по уменьшению количества ошибок в коде. Надеюсь, она будет вам полезна.
В повседневной работе разработчикам очень важно найти полезный инструмент разработки.
Это не только может повысить эффективность разработки, но, что более важно, поможет нам уменьшить количество ошибок.
Несколько хороших инструментов разработки,например:idea
середина,Не импортируется для пакета,Это будет в соответствующем классеОтмечено красным
。
иideaкромеавтозаполнение
функция,Это может эффективно сократить нашу ежедневную работу.,Некоторые слова могут быть набраны неправильно при вводе вручную.
Findbugs — это инструмент статического анализа кода Java, который фокусируется на поиске реальных дефектов или потенциальных проблем с производительностью. Он может помочь инженерам Java улучшить качество кода и устранить скрытые дефекты.
Findbugs использует библиотеку Apache BCEL для анализа файлов классов, а не исходного кода, сравнивая байт-код с набором шаблонов дефектов для поиска возможных проблем.
Вы можете установить плагин FindBugs прямо в idea:
Затем вы можете выбрать, какой код анализировать:
Результаты анализа:
Нажмите на соответствующий проблемный элемент, чтобы найти конкретную строку кода и исправить ее.
Количество детекторов Findbugs увеличилось до более чем 300, которые делятся на разные типы. Распространенные типы следующие:
В качестве плагина для проверки спецификаций кода CheckStyle может не только использовать спецификации разработки, заданные в конфигурации по умолчанию, такие как спецификации разработки Sun и Google, но также может использовать плагины, такие как спецификации разработки Alibaba.
В настоящее время спецификации разработки кода Alibaba в основном используются в Китае. Мы можем напрямую загрузить плагин через idea:
Если вы хотите обнаружить файл:
Вы можете увидеть результаты:
Сканирование протокола Alibaba включает в себя:
Руководство Alibaba по кодированию Java фокусируется на спецификациях кода Java и призвано облегчить и ускорить разработчикам стандартизацию форматов кода.
После сканирования кода плагин отображает код, не соответствующий спецификациям, на три уровня: «Блокирующий», «Критический» и «Основной», причем большинство из них можно автоматически исправить.
Он также предоставляет возможности обнаружения в реальном времени на основе механизма проверки, что позволяет быстро находить проблемы во время написания кода.
SonarQube — это автоматизированный инструмент проверки кода, используемый для обнаружения ошибок, уязвимостей и проблем с форматированием кода.
Его можно интегрировать с существующими рабочими процессами пользователей, чтобы обеспечить непрерывную проверку кода во всех ветках проекта и запросах на включение, а также предоставить страницу визуального управления для просмотра обнаруженных результатов.
SonarQube анализирует проекты с точки зрения надежности, безопасности, ремонтопригодности, покрытия, уровня дублирования и т. д. посредством настроенных правил анализа кода. Уровень риска разделен на 5 уровней от A до E;
В то же время SonarQube может интегрировать такие плагины, как pmd, findbugs и checkstyle, чтобы расширить использование других правил для проверки качества кода.
Обычно рекомендуется интегрировать его с Jenkins, чтобы каждый день регулярно сканировать проблемы кода в тестовой ветке проекта.
Fortify — широко используемый инструмент статического тестирования безопасности приложений (SAST).
Он имеет такие функции, как сканирование кода, сканирование воронки и тестирование на проникновение. Он предназначен для эффективного обнаружения и локализации уязвимостей в исходном коде.
Это помогает разработчикам выявлять и устранять уязвимости безопасности в их коде.
Основные возможности Fortify:
Результаты сканирования кода с помощью Fortify:
Обычно рекомендуется интегрировать его с Jenkins и регулярно сканировать проблемы безопасности кода в тестовой ветке проекта.
Некоторые друзья могут спросить: может ли написание модульных тестов уменьшить количество ошибок в коде?
Ответ: да.
Однажды у меня был коллега, который использовал модель разработки через тестирование. Прежде чем разрабатывать функциональный модуль, он сначала написал модульный тест, а затем собственно разработал бизнес-код.
Позже я узнал, что код, который он написал, был очень быстрым и качество кода было очень высоким. Он был отличным разработчиком.
Если вы захотите провести рефакторинг системного кода позже, вам придется переписать только соответствующий бизнес-код, но бизнес-логика не будет изменена.
В это время вы обнаружите, что тестирование очень удобно благодаря написанным вами ранее модульным тестам.
Это может помочь вам уменьшить количество ошибок.
Функция самотестирования является основным требованием для программистов.
Однако у некоторых программистов после самотестирования все еще остается много ОШИБОК, а у некоторых после самотестирования их очень мало. В чем причина?
Возможно, некоторые люди более небрежны, а некоторые более осторожны.
На самом деле, что более важно, так это стратегия тестирования.
Некоторым людям нравится разрабатывать все связанные функции, а затем тестировать их вместе.
В данном случае это эквивалентно тесту «черного ящика», который требует много времени на выяснение бизнес-логики для завершения теста. В большинстве случаев разработчики не могут протестировать полностью, и может возникнуть множество ошибок, которые невозможно протестировать.
Этот подход предполагает прямое интеграционное тестирование без модульного тестирования.
Кажется, что это экономит много времени на модульное тестирование, но на самом деле исправление ошибок в дальнейшем может стоить больше времени.
Более рекомендуемый способ самооценки: шаг за шагом.
Например: если вы пишете метод класса инструмента, протестируйте его. Если в этом методе вызывается другой ключевой метод, мы можем сначала протестировать этот ключевой метод.
Это позволяет писать код с меньшим количеством ошибок.
Некоторые компании внедрили возможности автоматического тестирования.
Существуют специальные процедуры, которые автоматически проверяются каждый день, чтобы гарантировать отсутствие проблем с основными процессами системы.
Потому что в нашей повседневной разработке нам часто приходится корректировать код основного процесса.
Невозможно тестировать все основные процессы каждый раз, когда вы вносите коррективы. Это отнимет много времени, и легко упустить некоторые детали.
Если будет введена функция автоматического тестирования, это поможет нам протестировать основные процессы.
Избегайте затруднений, связанных с рефакторингом кода или модификацией основных процессов, недостаточным временем тестирования или неполным тестированием.
Автоматизированное тестирование может эффективно уменьшить количество корректировок основных процессов или ошибок при рефакторинге кода.
Многие компании имеют механизмы проверки кода.
Раньше я участвовал во многих встречах по проверке кода и обнаружил, что проверка кода действительно позволяет обнаружить множество ошибок.
Например: некоторые логические ошибки кода, грамматические проблемы, неправильное наименование и т. д.
Такие проблемы обычно можно выявить посредством проверки кода внутри группы.
Некоторые крупные зарубежные производители,использоватьпарное программирование
режим。
Два человека А и Б в одной группе разрабатывают вместе. После разработки А повторно просматривает код Б, а Б просматривает код А.
Поскольку участники A и B из одной группы лучше знакомы с проектом и лучше понимают функции, разработанные другой стороной, они могут быстро обнаружить некоторые проблемы во внешнем коде.
Может эффективно уменьшить некоторые ошибки.
Если вы хотите уменьшить количество ошибок в коде или онлайн-несчастных случаев в своей повседневной работе, делайте меньше ошибок и избегайте ловушек.
Это очень хороший выбор — часто читать, как другие люди рассказывают о своих ошибках. Вы можете изучить опыт работы других людей и помочь себе избежать многих обходных путей.
В Интернете есть много блоггеров, которые написали о своих ошибках. Вы можете поискать в Интернете.
Вы также можете посмотреть мое собственное резюме《100 самых частых вопросов, которые задают программисты》,Внутри очень подробные записи,Много полезной информации,Все равно очень стоит посмотреть.
Наконец, в этой статье приводятся 10 советов по уменьшению количества ошибок в коде, но мы должны использовать их в соответствии с реальной ситуацией. Не все сценарии подходят.