python代码风格建议

 
 
 
python 以其结构严格著称,同时也以其命名规范散漫出名,算乱无规矩的命名尤其给开发人员带来理解上的误区。
尤其像python、ruby动态语言,由于在运行期随时可能出现方法或者属性的增减,规则的命名尤其重要。
 
ruby语言本身定义的语法规则较为随意,但却不乏一一对应的隐含规则,使人一目了然。其命名规则甚至渗透进了语言本身的规范当中
在命名规则这一点上python显得没规没距。需要逐步养成一个好的编码命名规范。
 
本文从各大站点文章中搜集了一些代码风格,命名规范。便于学习参考。
 
 
代码风格:
 
  1. 使用空格来表示缩进,而不要使用制表符tab,请勿将两者混用
  2. 函数间换行至少一行
  3. 类之间换行至少两行
  4. dict、list、tuple、参数列表时,应该在逗号,前添加一个空格
  5. dict中key之后的冒号:应在value与冒号:之间添加空格,而不是:与key之前间
  6. 较长代码(大于79chars)使用反斜杠\换行。换行后新行的起始处应该与前一个分隔符对齐(是参数换行则与左括号(对齐
  7. import位于module comments 与 docstring 之后,常量声明之前
  8. 3.0一下版本的代码文件建议以latin字符编码。3.0以上则推荐utf-8
  9. 代码中有操作符运算,请注意优先级,优先的操作紧缩,或者加括号
  10. 等号左右两边请勿加空格
  11. 尽量不要将多行代码放在同一行
  12. 少使用inline comments(行后注释)
  13. block comments (用#开头的多行函数注释),保持与目标函数 相同的缩进
  14. docstring ,开头一行写上返回值,接下来一行写函数功能描述,后可按照格式>>>func(arg1, arg2, arg3) /r 返回值。以便于测试
  15. 另外,若要使用subversion,cvs等源代码管理工具。可以在函数的docstring 之后,code之前 写上
    1.  __version__ = " Revision:16dd63848921 "
 
命名规则:
  1. 尽量少用 'l' (lowercase letter el), 'O' (uppercase letter oh), or 'I' (uppercase letter eye) 单字母作为变量的命名.-------no l,I,O
  2. 包和模块应该用短且全小写字母(Modules should have short, all-lowercase names.):thismoduleisnew
  3. class name 则建议用CapWords(首字母大写)的形式命名:NewClassName
  4. Exception类则用以Error结尾的字符串命名为宜: NewError
  5. 全局变量尽量只是设计用于模块内使用,并且可以用import *时,包内的__all__机制来除去全局变量
  6. 函数名(function name) 尽量都用小写且单词间以_(下划线)连接,另外,大小混合的mixedCase植被允许用于传统类中。function_name(arg1...)
  7. 函数和方法参数(function and method arguments),self作为实例方法的第一个参数,cls作为类方法的第一个参数,倘若参数名与关键字相同,为了避讳,则应该加个下划线
  8. 方法名&类实例的属性(method name & instance variable)方法名规则与函数名相同,类实例私有属性 和 类实例的私有方法以单个下划线开头_private_fucntion_name(self)
  9. 常量;全大写,单词间以_下弧线间隔:THIS_IS_CONSTANT_VAR
  10. 面向对象设计建议:
    1. 若对类实例中的属性是设置成public的好还是private好,可以考虑先设置成private,其修改成本更低。
    2. private不能被第三方使用,因为随时有可能被删除、废弃
    3. public属性不能用下划线开头
    4. 避免属性使用大运算量操作
    5. 倘若不想被子类继承的属性,应该用双下划线开头,且最后没有下划线。这样会启动python的命名识别矫正处理算法,保证不被继承
 
 
  1. joined_lower 可以是函数名 方法名 属性名
  2. ALL_CAPS 是常量
  3. StudlyCaps是类名
  4. camelCase 只有在预先订制好的命名规范中使用
  5. 属性 interface,_internal, __private
  6. 尽量避免__private形式,下面两个连接解释了为什么python中没有private声明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值