python的编程模式-Python 编程,应该养成哪些好的习惯?

我在模块还没认全,元类、类方法和静态方法的区别、装饰器写的还不溜等还不懂的时候,就开始注意让写的代码尽量Pythonic和符合PEP8标准。

到现在,基本手写的都是符合标准的Python代码。我写代码力求如下几点:

1. 简单,调用链简单,不用写注释,同事看我代码,除了我的命名比较简陋不高大上以外,应该没有难度。

2. 不炫技。力求粗暴实现功能,只在合适的地方用合适的方法。

3. 不给其他同事机会吐槽。除了变量命名偶尔会被其他同事鄙视以外,一般很少有人对我的代码抽象能力,性能提供评价意见。

4. 时间允许情况下尽量把代码写完美。一般我的代码都是merge后就不动了,因为没啥可重构的机会... 除非有BUG。哦,我的BUG数量应该是很少的。

这不是一个自吹自擂的答案。

我和我们组在控制代码质量上面做了很多工作,上段时间我写了篇专栏 保证代码质量二三事 - Python之美 - 知乎专栏 ,BTW,dennis还打赏了5块钱(ÒωÓױ)。

作为一个过来人,我一定要给关注了和看这个问题的同学提点经验。

首先看一下我刚到豆瓣第二周提的一个PR来给大家乐呵一下:

/>

这个页面来着豆瓣自己造的团队协作工具 CODE(Douban CODE)。这个PR包含9百多行代码,但是其中包含了700多行thirft自动生成的。 看一下评论数「164」,感受下一个觉得自己代码写的不错的人,被团队其他人这么吐,我的心理阴影。

为什么会造成这么多呢:

1. 豆瓣有一些工程上的习惯甚至黑魔法,团队有自己的规范。

2. 代码写的不好。

3. 来豆瓣前我是一路自学的野路子,我还算对自己写的代码要求高,但是好多细节上既有理解问题也有代码实现的问题。

那么,假如你现在对自己很放纵,但是还挺有追求希望去更好的团队,到更高的平台,防止遇到我们这些人被喷的第二天不想去上班。如下编程习惯一定要有:

1. PEP8。 这个大家都知道了,在我们组,PEP8不过你的PR都基本没人理,吐都懒得吐。但是PEP8里的要求还挺多,怎么办呢?没办法,熟能生巧尔。推荐看 PEP8: The Style Guide for Python Code , requests作者做的,更友好和直观。不熟的时候除了在终端执行下pycodestyle(也就是原来的pep8),还可以给自己的编辑器配上一些自动做PEP8检查的插件。

2. Pythonic。写程序最大的特点就是你可以用多种方法实现同一个功能,但是我能分辨出来那个更Pythonic,那个明显是XX语言转型过来的程序员写的。一般只有一种是最优解,代码最简练执行效率也最高,这个也没啥办法,就是要靠你日常的搜集和自己的不断提高。我现在翻看2年前的代码觉得不忍直视,希望2年后看今天自己写的代码也有这种感觉 。

3. 搜索能力。你没有能力和精力完成所有的事情,有些时候需要去找答案,至少是找个灵感。所以学习从Google、Github、Stackoverflow等网站找到自己需要的东西是一个很好的习惯,以后你会感谢自己这个好习惯。

4. 善用Python标准库。很多功能的最佳实践其实在标准库中,不要一味的自己吭哧吭哧造,造多了你会发现很多都无意义,浪费了时间甚至把你带偏了。

5. 找到一整套完成工作的最佳流程。这个有点大,其实就是配置一个趁手的编辑器,俺强推spacemacs,多花时间用好它;找到一个调试bug的方式,出现问题你要有一系列定位问题,跟踪问题,解决问题的方案,让你非常快的完成工作,而不是漫无目的的每次看心情去debug,必须有「套路」。

6. 尽能力熟悉工作中常用的工具和项目。比如用Flask,有空读读它的源码,这样出了问题,会对你找到原因很有帮助,我现在经常受益于这条。没看过源码就敢在产品线用的人都是「银才」。

欢迎关注本人的微信公众号获取更多Python相关的内容(也可以直接搜索「Python之美」):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值