Язык программирования Python

   В услугу по аренде погрузчика включены основные издержки: амортизация погрузчика. |     

Pychecker


Одним из наиболее интересных инструментов для анализа исходного кода Python программы является Pychecker. Как и lint для языка C, Pychecker позволяет выявлять слабости в исходном коде на языке Python. Можно рассмотреть следующий пример с использованием Pychecker:

import re, string import re a = "a b c"

def test(x, y): from string import split a = "x y z" print split(a) + x

test(['d'], 'e')

Pychecker выдаст следующие предупреждения:

badcode.py:1: Imported module (string) not used badcode.py:2: Imported module (re) not used badcode.py:2: Module (re) re-imported badcode.py:5: Parameter (y) not used badcode.py:6: Using import and from ... import for (string) badcode.py:7: Local variable (a) shadows global defined on line 3 badcode.py:8: Local variable (a) shadows global defined on line 3

В первой строке импортирован модуль, который далее не применяется, то же самое с модулем re. Кроме того, модуль re импортирован повторно. Другие проблемы с кодом: параметр y не использован; модуль string применен как в операторе import, так и во from-import; локальная переменная a затеняет глобальную, которая определена в третьей строке.

Можно переписать этот пример так, чтобы Pychecker выдавал меньше предупреждений:

import string a = "a b c"

def test(x, y): a1 = "x y z" print string.split(a1) + x

test(['d'], 'e')

Теперь имеется лишь одно предупреждение:

goodcode.py:4: Parameter (y) not used

Такое тоже бывает. Программист должен лишь убедиться, что он не сделал ошибки.



Содержание раздела