Как я могу проанализировать код Python для идентификации проблематичных областей?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
98
задан Shog9 28 August 2015 в 18:12
поделиться

5 ответов

Для измерения цикломатической сложности существует хороший инструмент, доступный в traceback.org . Страница также дает хороший обзор того, как интерпретировать результаты.

+1 для pylint. Это сильно в проверке соблюдения кодирования стандартов (быть им PEP8 или вариант Вашей собственной организации), который может в конце помогать уменьшить цикломатическую сложность.

36
ответ дан Mike Griffith 24 November 2019 в 05:18
поделиться

Для статического анализа существует pylint и pychecker. Лично я использую pylint, поскольку это, кажется, более всесторонне, чем pychecker.

Для цикломатической сложности можно попробовать эта программа жемчуга или этот статья , которая представляет программу Python, чтобы сделать тот же

18
ответ дан freespace 24 November 2019 в 05:18
поделиться

Благодаря Pydev, Вы можете интегрировать pylint в Eclipse IDE действительно легко и добираться, код сообщают каждый раз, когда Вы сохранили измененный файл.

6
ответ дан ramiro 24 November 2019 в 05:18
поделиться

Существует инструмент, названный CloneDigger, который помогает Вам найти подобные фрагменты кода.

4
ответ дан Anonymous 24 November 2019 в 05:18
поделиться

Pycana работает как шарм, когда вам нужно разобраться в новом проекте!

PyCAna (Python Code Analyzer) - это причудливое название для простого анализатора кода для Python, который создает диаграмму классов после выполнения вашего {{1} } код.

Посмотрите, как это работает: http://pycana.sourceforge.net/

вывод:

alt text

11
ответ дан 24 November 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: