代码风格


提交到Evennia项目的所有代码都应遵守 Python PEP 8 所列的规范,详细内容可看这里:


代码风格要点

  • 用4个空格缩进,不要用tab!
  • Unix格式的换行。
  • 驼峰式大小写仅用于类名,其他的都不用。
  • 所有非全局变量名和所有函数名称都是小写,用下划线分隔单词。变量名必须长于两个字母。
  • 模块级的全局变量只能用大写字母。
  • (Evennia的特定规则):通常应该按以下顺序导入模块:
    • Python模块(包括内建模块和标准库)
    • Twisted模块
    • Django模块
    • Evennia src/ 中的模块
    • Evennia game/ 中的模块
    • Evennia 'ev' API 的导入


文档

请记住,Evennia的源代码是要给别人看的,游戏管理员在制作游戏时会阅读这些代码。Evennia以丰富的文档而自豪。模块、函数、类和类的方法都应该以文档字符串开始,要简述具体功能,至少写一行,最好能再解释一下参数和注意事项。要在适当的地方添加注释。


Pylint

Pylint程序(http://www.logilab.org/857)是检查Python代码错误的好工具,它还会检查代码遵守 PEP 8 规范的情况(比如是否缺少文档字符串)并告诉你哪些地方可以改进。

由于pylint无法检查用在命令中或其他地方的动态创建的变量,我们需要减少一些检查项目以避免虚报错误和警告。为了达到最佳效果,可以这样运行pylint:
> pylint --disable=E1101,E0102,F0401,W0232,R0903 filename.py
为了避免每次都输入这些选项,你可以用 --generate-rcfile 参数自动创建一个 pylintrc 文件 。你需要将它输出到一个 .pylintrc 文件,就像这样(在linux下):
> pylint --disable=E1101,E0102,F0401,W0232,R0903 --generate-rcfile > ~/.pylintrc
然后,你就可以直接运行了
> pylint filename.py


提出问题!

如果觉得 PEP 8 或上述内容中的任何一条规则有不合理的地方,欢迎在Evennia的邮件列表
(http://evennia.com)上提问。保持代码风格统一可以让各种不同的人更容易地参与到这个项目中来。