Pyhon编码事项
1. 永远不要使用import *
Pylint代码审查:Wildcard import XXX
如果函数名重名,或者要导入的内容里面包含了from datetime import datetime,
而在你的文件里 import datetime,如果import * 是在这之后,它会覆盖import datetime
2. 为每个Class、方法、函数、模块添加docString
Pylint代码审查:Missing docstring
"""Doc string.
bababababa.
"""
3. 变量、函数、常量、类、方法名
Pylint代码审查:Invalid name "xx" (should match [a-z_][a-z0-9_]{2,30}$)
变量名太短,长度应至少为3,且首字母应以a-z和_开头。
常量全部大写:MY_CONST
变量名、函数、方法名以小写字母开头,中间可以用下划线分隔 some_xx_xx
类名应以大写字母开头 MyClassName
类的私有变量、方法命 __some_xx
4. 过多的分支、函数太长
Pylint代码审查:Too many branches (20/12)
if else太多,拆分函数吧
5. 一行太长,超过80个字符
Pylint代码审查:Line too long (xx/80)
1. import的东东太多
from your.utils import some, another, some_x, another_x, \
some_y, another_y
2. 条件太多
if some or another or another_x and another_y and some_z \
or another_y
3. 字符串太长
some_var = "blablablablablabla,mojimojimojimojimojimoji %s" % \
another_var
或者
some_var = ("blablablablablablablablablablabla"
"mojimojimojimojimojimojimoji")
或者
some_var = """blablablablablabla,mojimojimojimojimojimoji
注意这里要顶格到最前面,否则会有多余的空白字符
"""
4. 函数括号里的东东太多,参数最好不要超过5个
some_var = some_func(some_x, some_y,
another_x, another_y)
或者
some_var = some_func(
some_x, some_y,
another_x, another_y)
或者
some_var = some_func(
some_x, some_y,
another_x, another_y)
5. 列表内容比较多噻
some_list = [
some_x, some_y,
another_x, anoter_y
]
some_list = [expression for x in a_list
if some_very_very_long_expr]
6. 字典内容比较多噻
some_dict = {
"some_x": some_x,
"some_y": some_y
}
7. 三元运算表达式太长
some_var = (some_value
if very_very_very_long_expression
else another_value)
8. 一行中的“.”操作表达式很多
some_var = (some_var.replace('xx', 'yy')
.replace('zz', 'mm')
.split('|'))
Eclipse 80个字符提示线
Windows -> Prefereces -> General -> Editors -> Text Editors
勾选上 Show print margin
6. 逗号后面跟一个空格
Pylint代码审查:Comma not followed by a space
在一行的代码,逗号后面加个空格吧;
Reference
最新文章
- jquery 同id使用指针寻找具体每个id的值
- nodejs初探(二)第一个nodejs程序“hello world”
- vs 2013 Express 无法启动程序xxx.exe,系统找不到指定文件
- 546A. Soldier and Bananas
- cell的各种使用和赋值 总结
- react-router简明学习
- 201621123040《Java程序设计》第4周学习总结
- jquery-防多店铺购物车结算全选,单选,及删除,价格计算
- Django+Bootstrap+Mysql 搭建个人博客(四)
- Redis压缩列表
- Maven 本地仓库,远程仓库,中央仓库,Nexus私服,镜像 详解
- 面试Spring之bean的生命周期
- 模块讲解----pickle模块(只在python用的序列化与反序列化)
- Docker小白从零入门实战
- 【转】python 修改os环境变量
- PAT B1030 完美数列 (25 分)
- 泛型通配符extends与super的区别
- 润乾V4导出TXT时自定义分隔符
- 出现<;authentication mode=";Windows";/>;错误解决办法
- CentOS 7 Apache 多端口部署 Web Apps 指南
热门文章
- React-Native首次运行提示-ReferenceError-Can-t-find-variable-fbBatchedBridge
- UVA 185(暴力DFS)
- ios7自带的晃动效果
- 在Java项目中整合Scala
- 电子设计省赛--SPWM(死区时间)
- HDU - 1693 Eat the Trees(多回路插头DP)
- core dump + LINUX 内核系列博客
- 标准I/O库之二进制I/O
- 【转】CCUserDefault类深入分析&mdash;&mdash;2013-08-25 22
- linux cat 命令详解--转