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
Pyhon编码事项的更多相关文章
- WEB编码事项
标准 WEB开发标准是一系列标准的集合, 包含HTML结构标准.CSS表现标准.JS行为标准.代码标准.标准测试. 目标 WEB开发流程统一标准化,实现页面结构.表现.行为适当分离,提高页面易维护性, ...
- Django国际化注意事项
涉及两部分内容: py/html文件国际化.外部js文件国际化 步骤 1. settings.py 激活相应的配置 2. 针对py文件,需要注意被翻译代码的编写方式 3. 针对html文件,需要注意被 ...
- Jquery table元素操作-创建|数据填充|重置|隐藏行
1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param ...
- FMS直播流发布时 Microphone Speex 编码设置注意事项
1.为何要用 Speex?FP的默认音频编码是 NellyMoser,而FP10之后加入了 Speex.实际应用中,用默认的 NellyMoser 编码音频,会有个很大的问题,就是无法控制流码率浮动. ...
- Oracle EBS在编码方式为AL32UTF8时的注意事项
现如今的EBS系统中,为了推进国际化的进程,以及系统向全球化的扩展,在Oracle数据库的编码方式上渐渐从支持中国本土简体中文的ZHS16GBK转向了更趋于国际化的AL32UTF8编码方式.但随之而来 ...
- PHP 下载导出中文名的文件的编码注意事项
我的页面全部都为utf-8 在代码中我的文件名是中文名. 在创建文件时,就要将utf-8转码成gbk(用以支持中文) $file = iconv('utf-8',"gbk",$fi ...
- HTML 中的字符集、ASCII、 ISO-8859-1、符号之间的关系和 HTML URL 编码注意的事项
一.HTML 实体 1.什么是HTML 实体? 在 HTMl 中,某些字符是保留的.小于号 (<) 和 大于号 (>), 浏览器会误认为是标签 如果希望正确地显示预留字符,必须在 HTML ...
- RabbitMQ持久化编码注意事项
以Java语言,MQ客户端为amqp-client作为示例 1.基本原则 direct模式,由生产者声明队列名,消费者也声明队列名 topic模式,由生产者声明交换器名,由消费者声明队列名+交换器名+ ...
- web.xml文件--编码注意事项
写在前面: 最近发布项目的时候,要修改web.xml文件的内容,然后我在本机的web.xml文件中是有注释的,但是到了服务器上面,就说编码不同.我也没有怎么注意.就继续启动服务器,但是访问网站,一直报 ...
随机推荐
- Java - 错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1"
错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1" 本文地址: http://blog.csdn.n ...
- android开发Proguard混淆与反射
http://charles-tanchao.diandian.com/post/2012-05-24/20118715 由于前面开发数据操作类,所以利用反射,封装了一个BaseDao,本来在平常的时 ...
- OpenOffice的安装与启动2
1.tar -zxvfApache_OpenOffice_4.1.0_Linux_x86-64_install-rpm_zh-CN.tar.gz 2.cd zh-CN 3.rpm -Uvh RPM ...
- Redis学习手册(Hashes数据类型)
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
- careercup-排序和查找 11.4
11.4 设想你有一个20GB的文件,每一行一个字符串.请说明将如何对这个文件进行排序. 解法: 当面试官给出20GB大小的限制时,实际上在暗示些什么.就此题而言,这表明他们不希望你将数据全部载入内存 ...
- C# Attribute (上)——Attribute初体验
原始出处 .作者信息和本声明.否则将追究法律责任.http://liutiemeng.blog.51cto.com/120361/29201 小序: 注意:本次小序颇长而且没什么 ...
- 【转】以XML文件方式保存用户数据——2013-08-25 22
正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserDefault.它是cocos2d-x用来存取基本数据类型用的.保存为XML文件格式. 主要方法:(和java的map很 ...
- 深入理解计算机系统第二版习题解答CSAPP 2.4
不进行数字转换为二进制和十六进制,计算结果. A. 0x503C + 0x8 = 0x5044 B. 0x503C - 0x40 = 0x4FFC C. 0x503C + 64 = 0x503C + ...
- Java并发——同步容器与并发容器
同步容器类 早期版本的JDK提供的同步容器类为Vector和Hashtable,JDK1.2 提供了Collections.synchronizedXxx等工程方法,将普通的容器继续包装.对每个共有方 ...
- js数组&&字符串&&定时器1
一.简单计算命令eval var str="6*5"; alert(eval(str)); 注意:不安全,一般都不会去用 二.id&&name id:只能唯一 ...