怎么样提高 python 可读性和质量
以下是我的想法
首先给函数 / 类 / 方法取个好懂的名字 (我这点很失败,英语太烂… 是不是应该加一个学好英语)
当一个差不多的操作出现了三次,不要继续堆代码,要抽象出来
我倾向于写 FIXME,TODO, 写文件 / 函数的用途的注释,在不是很好理解的代码上面注释作用,标明输入和输出都是什么 (如果不是要修改维护你的代码,没人在乎你的算法多 NB)
上面说的,请不要让别人需要仔细研究你的代码才明白是什么意思… 我写代码很有压力,因为我不想以后维护我代码的人骂我.
不要炫技,请不要乱用函数式编程 / 闭包。我在乎的是性能和简单粗暴的实现功能
多用标准库的实现,如果不知道有这个功能实现前先 google.
多读有名的项目,github 上面有很多。思考别人为什么这样用
…
我们是封装开源项目还是直接修改开源代码给自己用
其实我这样描述,比如有个项目因为历史原因是一个很早的版本。但是和其它新的版本组件有兼容问题以及我们业务的特殊需要。我看了源码发现需要改动几个地方. 问题改动后就需要自己维护这个项目,对于新部署的环境甚至其它版本我还继续需要这个变动。还有一种声音是 “你不能修改 XX 源码”, 你要在上面封装出一个新的东西, 也就是不直接调用 XX,而是在我的自己的项目对 XX 有了个封装 YY,然后我们的调用 YY.
我觉得这个东西自己部署是一个可行的方案,首先这个修改不是一个 patch,不是主流的修改。只能算是我们业务的二次开发而已,封装只是在掩耳盗铃. 着让我想起一个问题:为什么中国鲜有好的开源项目:中国人不缺好的 idea? 是因为中国人觉得这件事情做不了,是因为它们觉得别人实现的就是很牛比的, 自己改了就会有问题… 其实这是自卑… 首先是代码就会有 bug,tornado/flask/requests 不还是在开发和解决问题嘛?bug 一直在只是你没有发现和注意. 我觉得开源项目的代码看懂了,了解了就可以修改… 没什么可担心的… 我指的是角度。我觉得每个人学了一门语言看了某个项目的源码只要你有胆量, 你有一个怀疑的善于发现和思考的心,那么你都能贡献你的代码,做你的二次开发.
和本文相关:如果你没有做过这件事,你怎么可以说你会 python?