Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 63f5dd8

Browse files
author
mzj14
committed
modularize project and add static code analyzer
1 parent 2308f05 commit 63f5dd8

File tree

10 files changed

+803
-130
lines changed

10 files changed

+803
-130
lines changed

‎.pylint‎

Lines changed: 378 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,378 @@
1+
[MASTER]
2+
3+
# Specify a configuration file.
4+
#rcfile=
5+
6+
# Python code to execute, usually for sys.path manipulation such as
7+
# pygtk.require().
8+
#init-hook=
9+
10+
# Add files or directories to the blacklist. They should be base names, not
11+
# paths.
12+
ignore=CVS
13+
14+
# Pickle collected data for later comparisons.
15+
persistent=yes
16+
17+
# List of plugins (as comma separated values of python modules names) to load,
18+
# usually to register additional checkers.
19+
load-plugins=
20+
21+
# Use multiple processes to speed up Pylint.
22+
jobs=1
23+
24+
# Allow loading of arbitrary C extensions. Extensions are imported into the
25+
# active Python interpreter and may run arbitrary code.
26+
unsafe-load-any-extension=no
27+
28+
# A comma-separated list of package or module names from where C extensions may
29+
# be loaded. Extensions are loading into the active Python interpreter and may
30+
# run arbitrary code
31+
extension-pkg-whitelist=
32+
33+
# Allow optimization of some AST trees. This will activate a peephole AST
34+
# optimizer, which will apply various small optimizations. For instance, it can
35+
# be used to obtain the result of joining multiple strings with the addition
36+
# operator. Joining a lot of strings can lead to a maximum recursion error in
37+
# Pylint and this flag can prevent that. It has one side effect, the resulting
38+
# AST will be different than the one from reality.
39+
optimize-ast=no
40+
41+
42+
[MESSAGES CONTROL]
43+
44+
# Only show warnings with the listed confidence levels. Leave empty to show
45+
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
46+
confidence=
47+
48+
# Enable the message, report, category or checker with the given id(s). You can
49+
# either give multiple identifier separated by comma (,) or put this option
50+
# multiple time. See also the "--disable" option for examples.
51+
#enable=
52+
53+
# Disable the message, report, category or checker with the given id(s). You
54+
# can either give multiple identifiers separated by comma (,) or put this
55+
# option multiple times (only on the command line, not in the configuration
56+
# file where it should appear only once).You can also use "--disable=all" to
57+
# disable everything first and then reenable specific checks. For example, if
58+
# you want to run only the similarities checker, you can use "--disable=all
59+
# --enable=similarities". If you want to run only the classes checker, but have
60+
# no Warning level messages displayed, use"--disable=all --enable=classes
61+
# --disable=W"
62+
disable=import-star-module-level,old-octal-literal,oct-method,print-statement,unpacking-in-except,parameter-unpacking,backtick,old-raise-syntax,old-ne-operator,long-suffix,dict-view-method,dict-iter-method,metaclass-assignment,next-method-called,raising-string,indexing-exception,raw_input-builtin,long-builtin,file-builtin,execfile-builtin,coerce-builtin,cmp-builtin,buffer-builtin,basestring-builtin,apply-builtin,filter-builtin-not-iterating,using-cmp-argument,useless-suppression,range-builtin-not-iterating,suppressed-message,no-absolute-import,old-division,cmp-method,reload-builtin,zip-builtin-not-iterating,intern-builtin,unichr-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,input-builtin,round-builtin,hex-method,nonzero-method,map-builtin-not-iterating
63+
64+
65+
[REPORTS]
66+
67+
# Set the output format. Available formats are text, parseable, colorized, msvs
68+
# (visual studio) and html. You can also give a reporter class, eg
69+
# mypackage.mymodule.MyReporterClass.
70+
output-format=html
71+
72+
# Put messages in a separate file for each module / package specified on the
73+
# command line instead of printing them on stdout. Reports (if any) will be
74+
# written in a file name "pylint_global.[txt|html]".
75+
files-output=no
76+
77+
# Tells whether to display a full report or only the messages
78+
reports=yes
79+
80+
# Python expression which should return a note less than 10 (10 is the highest
81+
# note). You have access to the variables errors warning, statement which
82+
# respectively contain the number of errors / warnings messages and the total
83+
# number of statements analyzed. This is used by the global evaluation report
84+
# (RP0004).
85+
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
86+
87+
# Template used to display messages. This is a python new-style format string
88+
# used to format the message information. See doc for all details
89+
#msg-template=
90+
91+
92+
[SIMILARITIES]
93+
94+
# Minimum lines number of a similarity.
95+
min-similarity-lines=4
96+
97+
# Ignore comments when computing similarities.
98+
ignore-comments=yes
99+
100+
# Ignore docstrings when computing similarities.
101+
ignore-docstrings=yes
102+
103+
# Ignore imports when computing similarities.
104+
ignore-imports=no
105+
106+
107+
[SPELLING]
108+
109+
# Spelling dictionary name. Available dictionaries: none. To make it working
110+
# install python-enchant package.
111+
spelling-dict=
112+
113+
# List of comma separated words that should not be checked.
114+
spelling-ignore-words=
115+
116+
# A path to a file that contains private dictionary; one word per line.
117+
spelling-private-dict-file=
118+
119+
# Tells whether to store unknown words to indicated private dictionary in
120+
# --spelling-private-dict-file option instead of raising a message.
121+
spelling-store-unknown-words=no
122+
123+
124+
[VARIABLES]
125+
126+
# Tells whether we should check for unused import in __init__ files.
127+
init-import=no
128+
129+
# A regular expression matching the name of dummy variables (i.e. expectedly
130+
# not used).
131+
dummy-variables-rgx=_$|dummy
132+
133+
# List of additional names supposed to be defined in builtins. Remember that
134+
# you should avoid to define new builtins when possible.
135+
additional-builtins=
136+
137+
# List of strings which can identify a callback function by name. A callback
138+
# name must start or end with one of those strings.
139+
callbacks=cb_,_cb
140+
141+
142+
[MISCELLANEOUS]
143+
144+
# List of note tags to take in consideration, separated by a comma.
145+
notes=FIXME,XXX,TODO
146+
147+
148+
[TYPECHECK]
149+
150+
# Tells whether missing members accessed in mixin class should be ignored. A
151+
# mixin class is detected if its name ends with "mixin" (case insensitive).
152+
ignore-mixin-members=yes
153+
154+
# List of module names for which member attributes should not be checked
155+
# (useful for modules/projects where namespaces are manipulated during runtime
156+
# and thus existing member attributes cannot be deduced by static analysis. It
157+
# supports qualified module names, as well as Unix pattern matching.
158+
ignored-modules=
159+
160+
# List of classes names for which member attributes should not be checked
161+
# (useful for classes with attributes dynamically set). This supports can work
162+
# with qualified names.
163+
ignored-classes=
164+
165+
# List of members which are set dynamically and missed by pylint inference
166+
# system, and so shouldn't trigger E1101 when accessed. Python regular
167+
# expressions are accepted.
168+
generated-members=
169+
170+
171+
[BASIC]
172+
173+
# List of builtins function names that should not be used, separated by a comma
174+
bad-functions=map,filter,input
175+
176+
# Good variable names which should always be accepted, separated by a comma
177+
good-names=i,j,k,ex,Run,_
178+
179+
# Bad variable names which should always be refused, separated by a comma
180+
bad-names=foo,bar,baz,toto,tutu,tata
181+
182+
# Colon-delimited sets of names that determine each other's naming style when
183+
# the name regexes allow several styles.
184+
name-group=
185+
186+
# Include a hint for the correct naming format with invalid-name
187+
include-naming-hint=yes
188+
189+
# Regular expression matching correct function names
190+
function-rgx=[a-z_][a-z0-9_]{2,30}$
191+
192+
# Naming hint for function names
193+
function-name-hint=[a-z_][a-z0-9_]{2,30}$
194+
195+
# Regular expression matching correct variable names
196+
variable-rgx=[a-z_][a-z0-9_]{0,30}$
197+
198+
# Naming hint for variable names
199+
variable-name-hint=[a-z_][a-z0-9_]{0,30}$
200+
201+
# Regular expression matching correct constant names
202+
const-rgx=(([a-zA-Z_][a-zA-Z0-9_]*)|(__.*__))$
203+
204+
# Naming hint for constant names
205+
const-name-hint=(([a-zA-Z_][a-zA-Z0-9_]*)|(__.*__))$
206+
207+
# Regular expression matching correct attribute names
208+
attr-rgx=[a-z_][a-z0-9_]{2,30}$
209+
210+
# Naming hint for attribute names
211+
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
212+
213+
# Regular expression matching correct argument names
214+
argument-rgx=[a-z_][a-z0-9_]{2,30}$
215+
216+
# Naming hint for argument names
217+
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
218+
219+
# Regular expression matching correct class attribute names
220+
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
221+
222+
# Naming hint for class attribute names
223+
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
224+
225+
# Regular expression matching correct inline iteration names
226+
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
227+
228+
# Naming hint for inline iteration names
229+
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
230+
231+
# Regular expression matching correct class names
232+
class-rgx=[A-Z_][a-zA-Z0-9]+$
233+
234+
# Naming hint for class names
235+
class-name-hint=[A-Z_][a-zA-Z0-9]+$
236+
237+
# Regular expression matching correct module names
238+
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
239+
240+
# Naming hint for module names
241+
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
242+
243+
# Regular expression matching correct method names
244+
method-rgx=[a-z_][a-z0-9_]{2,30}$
245+
246+
# Naming hint for method names
247+
method-name-hint=[a-z_][a-z0-9_]{2,30}$
248+
249+
# Regular expression which should only match function or class names that do
250+
# not require a docstring.
251+
no-docstring-rgx=^_
252+
253+
# Minimum line length for functions/classes that require docstrings, shorter
254+
# ones are exempt.
255+
docstring-min-length=-1
256+
257+
258+
[ELIF]
259+
260+
# Maximum number of nested blocks for function / method body
261+
max-nested-blocks=5
262+
263+
264+
[LOGGING]
265+
266+
# Logging modules to check that the string format arguments are in logging
267+
# function parameter format
268+
logging-modules=logging
269+
270+
271+
[FORMAT]
272+
273+
# Maximum number of characters on a single line.
274+
max-line-length=100
275+
276+
# Regexp for a line that is allowed to be longer than the limit.
277+
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
278+
279+
# Allow the body of an if to be on the same line as the test if there is no
280+
# else.
281+
single-line-if-stmt=no
282+
283+
# List of optional constructs for which whitespace checking is disabled. `dict-
284+
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
285+
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
286+
# `empty-line` allows space-only lines.
287+
no-space-check=trailing-comma,dict-separator
288+
289+
# Maximum number of lines in a module
290+
max-module-lines=1000
291+
292+
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
293+
# tab).
294+
indent-string=' '
295+
296+
# Number of spaces of indent required inside a hanging or continued line.
297+
indent-after-paren=4
298+
299+
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
300+
expected-line-ending-format=
301+
302+
303+
[CLASSES]
304+
305+
# List of method names used to declare (i.e. assign) instance attributes.
306+
defining-attr-methods=__init__,__new__,setUp
307+
308+
# List of valid names for the first argument in a class method.
309+
valid-classmethod-first-arg=cls
310+
311+
# List of valid names for the first argument in a metaclass class method.
312+
valid-metaclass-classmethod-first-arg=mcs
313+
314+
# List of member names, which should be excluded from the protected access
315+
# warning.
316+
exclude-protected=_asdict,_fields,_replace,_source,_make
317+
318+
319+
[IMPORTS]
320+
321+
# Deprecated modules which should not be used, separated by a comma
322+
deprecated-modules=regsub,TERMIOS,Bastion,rexec
323+
324+
# Create a graph of every (i.e. internal and external) dependencies in the
325+
# given file (report RP0402 must not be disabled)
326+
import-graph=
327+
328+
# Create a graph of external dependencies in the given file (report RP0402 must
329+
# not be disabled)
330+
ext-import-graph=
331+
332+
# Create a graph of internal dependencies in the given file (report RP0402 must
333+
# not be disabled)
334+
int-import-graph=
335+
336+
337+
[DESIGN]
338+
339+
# Maximum number of arguments for function / method
340+
max-args=5
341+
342+
# Argument names that match this expression will be ignored. Default to name
343+
# with leading underscore
344+
ignored-argument-names=_.*
345+
346+
# Maximum number of locals for function / method body
347+
max-locals=15
348+
349+
# Maximum number of return / yield for function / method body
350+
max-returns=6
351+
352+
# Maximum number of branch for function / method body
353+
max-branches=12
354+
355+
# Maximum number of statements in function / method body
356+
max-statements=50
357+
358+
# Maximum number of parents for a class (see R0901).
359+
max-parents=7
360+
361+
# Maximum number of attributes for a class (see R0902).
362+
max-attributes=7
363+
364+
# Minimum number of public methods for a class (see R0903).
365+
min-public-methods=2
366+
367+
# Maximum number of public methods for a class (see R0904).
368+
max-public-methods=20
369+
370+
# Maximum number of boolean expressions in a if statement
371+
max-bool-expr=5
372+
373+
374+
[EXCEPTIONS]
375+
376+
# Exceptions that will emit a warning when being caught. Defaults to
377+
# "Exception"
378+
overgeneral-exceptions=Exception

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /