【Web系列二十八】代码规范校验

写在前面

        优秀的开发者一定是对代码整洁和规范有要求的,但开发时难免会有疏漏的地方,因此代码规范校验工具是必不可少的。本文将介绍不同的Web开发平台的代码规范校验工具和示例。

Django-Python

环境

pip install pylint-django

        执行以下语句生成配置文件

pylint --persistent=n --generate-rcfile > .pylintrc

  模板

[MASTER]

# 弃用pylint-django插件
load-plugins=pylint_django	

# 忽略部分文件	
ignore=


[MAIN]	

# Analyse import fallback blocks. This can be used to support both Python 2 and	
# 3 compatible code, which means that the block might have code that exists	
# only in one or another interpreter, leading to false positives when analysed.	
analyse-fallback-blocks=no	

# Clear in-memory caches upon conclusion of linting. Useful if running pylint	
# in a server-like mode.	
clear-cache-post-run=no	

# Load and enable all available extensions. Use --list-extensions to see a list	
# all available extensions.	
#enable-all-extensions-	

# In error mode, messages with a category besides ERROR or FATAL are	
# suppressed, and no reports are done by default. Error mode is compatible with	
# disabling specific errors.	
#errors-only=	

# Always return a 0 (non-error) status code, even if lint errors are found.	
# This is primarily useful in continuous integration scripts.	
#exit-zero=	

# A comma-separated list of package or module names from where C extensions may	
# be loaded.Extensions are loading into the active Python interpreter and may	
# run arbitrary code.	
extension-pkg-allow-list=	

# A comma-separated list of package or module names from where C extensions may	
# be loaded. Extensions are loading into the active Python interpreter and may	
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list	
# for backward compatibility.)	
extension-pkg-whitelist=	

# Return non-zero exit code if any of these messages/categories are detected,	
# even if score is above --fail-under value. Syntax same as enable. Messages	
# specified are enabled, while categories only check already-enabled messages.	
fail-on=	

# specify a score threshold under which the program will exit with error.	
fail-under=10

# Interpret the stdin as a python script, whose filename needs to be passed	
# the module_or_package argument.	

#from-stdin=
# Files or directories to be skipped. They should be base names, not paths.	
ignore=CVS	

# Add files or directories matching the regular expressions patterns to the	
# ignore-list, The regex matches against paths and can be in Posix or Windows	
# format. Because '\\' represents the directory delimiter on Windows systems,	
# it can't be used as an escape character.	
ignore-paths=	

# Files or directories matching the regular expression patterns are skipped.	
# The regex matches against base names, not paths. The default value ignores	
# Emacs file locks	
ignore-patterns=^\.#	

# List of module names for which member attributes should not be checked	
# (useful for modules/projects where namespaces are manipulated during runtime	
# and thus existing member attributes cannot be deduced by static analysis).It	
# supports qualified module names, as well as Unix pattern matching.	
ignored-modules=	

# Python code to execute, usually for sys.path manipulation such as	
# pygtk.require().	
#init-hook=	

# Use multiple processes to speed up Pylint. specifying 0 will auto-detect the	
# number of processors available to use, and will cap the count on windows to	
# avoid hangs.	
jobs=1	

# Control the amount of potential inferred values when inferring a single	
# object. This can help the performance when dealing with large functions or	
# complex, nested conditions,
limit-inference-results=100	

# List of plugins (as comma separated values of python module names) to load,	
# usually to register additional checkers,	
load-plugins=	

# Pickle collected data for later comparisons.	
persistent=no	

# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.	
py-version=3.8	

# Discover python modules and packages in the file system subtree.	
recursive=no

# Add paths to the list of the source roots. Supports globbing patterns. The	
# source root is an absolute path or a path relative to the current working	
# directory used to determine a package namespace for modules located under the	
# source root.	
source-roots=	

# When enabled, pylint would attempt to guess common misconfiguration and emit	
# user-friendly hints instead of false-positive error messages.	
suggestion-mode=yes	

# Allow loading of arbitrary C extensions. Extensions are imported into the	
# active Python interpreter and may run arbitrary code.	
unsafe-load-any-extension=no	

# In verbose mode, extra non-checker-related info will be displayed.	
#verbose=	


[BASIC]	

# Naming style matching correct argument names.	
argument-naming-style=snake_case	

# Regular expression matching correct argument names. Overrides argument-	
# naming-style. If left empty, argument names will be checked with the set	
# naming style.	
#argument-rgx=	

# Naming style matching correct attribute names.	
attr-naming-style=snake_case	

# Regular expression matching correct attribute names. Overrides attr-naming-	
# style. If left empty, attribute names will be checked with the set naming
# style.	
#attr-rgx=	

# Bad variable names which should always be refused, separated by a comma.	
bad-names=foo,	
          bar,	
          baz,	
          toto,	
          tutu,	
          tata	

# Bad variable names regexes, separated by a comma. If names match any regex,	
# they will always be refused	
bad-names-rgxs=	

# Naming style matching correct class attribute names.	
class-attribute-naming-style=any	

# Regular expression matching correct class attribute hames, Overrides class-	
# attribute-naming-style. If left empty, class attribute names will be checked	
# with the set naming style.	
class-attribute-rgx=

# Naming style matching correct class constant names.	
class-const-naming-style=UPPER_CASE	

# Regular expression matching correct class constant names, Overrides class-	
# const-naming-style. If left empty, class constant names will be checked with	
# the set naming style.	
#class-const-rgx=	

# Naming style matching correct class names.	
class-naming-style=PascalCase	

# Regular expression matching correct class names. Overrides class-naming-	
# style. If left empty, class names will be checked with the set naming style.	
#class-rgx=	

# Naming style matching correct constant names.	
const-naming-style=UPPER_CASE	

# Regular expression matching correct constant names. Overrides const-naming-	
# style. If left empty, constant names will be checked with the set naming	
# style.	
#const-rgx=	

# Minimum line length for functions/classes that require docstrings, shorter	
# ones are exempt.	
docstring-min-length=-1	

# Naming style matching correct function names.	
function-naming-style-camelCase	

# Regular expression matching correct function names. Overrides function-	
# naming-style. If left empty, function names will be checked with the set
# naming style.	
#function-rgx=	

# Good variable names which should always be accepted, separated by a comma.	
good-names=i,	
           j,
           k,	
           ex,	
           Run,	
           _

# Good varlable names regexes, separated by	comma. If names match any regex,	
# they will always be accepted
good-names-rgxs=	

# Include a hint for the correct naming format with invalid-name.	
include-naming-hint=no	

# Naming style matching correct inline iteration names.	
inlinevar-naming-style=any	

# Regular expression matching correct inline iteration names. Overrides	
# inlinevar-naming-style. If left empty, inline iteration names will be checked	
# with the set naming style.	
#inlinevar-rgx=	

# Naming style matching correct method names,	
method-naming-style=camelCase	

# Regulan expression matching correct method names. Overrides method-naming-	
# style. If left empty, method names will be checked with the set naming style.	
#method-rgx=	

# Naming style matching correct module names.	
module-naming-style=camelCase	

# Regular expression matching correct module names. overrides module-naming-	
# style. If left empty, module names will be checked with the set naming style.	
#module-rgx=	

# Colon-delimited sets of names that determine each other's naming style when	
# the name regexes allow several styles.	
name-group=

# Regular expression which should only match function or class names that do	
# not require a docstring.	
no-docstring-rgx=^_	

# List of decorators that produce properties, such as abc.abstractproperty.Add	
# to this list t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值