大家好,我是Kuls。
从今天开始,我打算来编写一个新系列。这个新系列的名称就叫小白趣读PEP。
首先给大家简单介绍一下PEP是什么,PEP的全称是Python enhancement Proposals,简单翻译过来就是Python增强建议。
其实,你可以理解为对于Python的建议书。
https://www.python.org/dev/peps/
上面是它的官网,你可以去看看。
因为看网上很多大佬都翻译了一些重要的PEP,所以我并不打算这个系列只是进行单纯的翻译,更多的是从我和你的角度去解读一篇PEP。
当然,翻译也会有,可能是我自己翻译,也可能是别人翻译的。
名称叫趣读,那必然得有趣点,不然我自己也看不下去
PEP20 The Zen of Python
标题解释过来就是,第20条建议 Python之禅
为什么不从第一条开始呢?
因为第一条是PEP Purpose and Guidelines,没啥意思。
而且Python之禅这个标题直接吸引我点进去阅读了。
下面我们进入正题,首先给大家看下原文:
- 优美胜于丑陋
我们可能看过雷军大学时代码的新闻,他说他的代码像诗一样美,我们也要朝着那个方向发展。
人总是进步的,我现在回过头看以前写的代码,那都是些什么玩意?
- 明晰胜于晦涩
当你看了许多的代码,你就会发现每个人的代码都写的不一样,同样实现一个需求,有些人写的很难看懂,有的人却写的非常的明晰且通俗。
- 简洁胜于复杂
记住这句话:不搞花里胡哨的,一切以简洁为主。
- 复杂胜于凌乱
上面说简洁比复杂好,这里说复杂比凌乱好,我认为这里的复杂不是跟前者一样。这里的复杂的比较对象是凌乱,也就是说我实现的功能很复杂,但是我写的代码却不凌乱,清晰明了。
- 扁平胜于嵌套
其实这里的扁平我们可以理解为扁平化设计,即去掉冗余、复杂的装饰效果。
- 疏胜于密
代码不要在一行全部写完,代码与代码之间要保留间隔。
在Python中代码全写一行会报错,但是像Java等语言你确实可以在一行中写下所有代码。一行写下所有代码并不会代表你很牛逼,除非你把十行代码简化为一行。
- 可读性很重要
对于用户来说,可读性好与差没关系。但是身为一个程序员,你必须要为下一个接班人着想,不要写的连自己也看不懂了。
我们可以发现github上比较火的项目都是可读性很高的。
- 特殊情况不足以打破规则
不要去尝试挑战规则,如果能挑战成功,你还是现在这样吗?
- 不要以为错误不会来,除非你假装没看见
我觉得这句话确实很真实,很多时候程序会偶尔出现一些小错误,但是恰恰以为是小错误就不去理会。
这很可能会在关键的时候掉链子。
- 面对不确定,不要去猜测,最好找到唯一一种明显的解决方法,但是这种方法不一定明显,但是问题不大,因为你不是Python之父
这句话还挺有意思(好像在骂我?
其实就是告诉我们要深度思考,不要浮于表面。
- 做比不做好,不做比不带脑子做好
这句话看表面意思还看不出什么,但是看了大佬翻译的才恍然大悟。
- 如果这个主意很难解释,那么这是个坏主意;如果它很容易解释,那么它是个好主意
这句话总结了上面的简洁、复杂和凌乱,还有深度思考。Kuls个人认为,主意很难解释不一定是主意不好,也有可能是自己的原因,所以深度思考很重要。
- 命名空间是个很不错的主意,让我们多运用它吧
这应该算是提倡。命名空间就是防止同名干扰。
就例如在xml中,两个相同含义例如表格都是以< table >来命名,但实际表达的东西不一样,一个是动物种类的表,一个是水果种类的表。如果把两个表合在一个文件,那么就会有冲突,这个时候我们可以通过< a:table >和< f:table >这种形式来命名
总结
其实PEP20对于刚刚踏入编程世界的朋友很有帮助,它能够帮你塑造出什么才是美的代码的形象。
对于程序员来说也有参考价值,能够时时刻刻提醒我们,如果去优雅的搬砖。
今天的文章就到这了,不知道大家对于这个系列的文章感不感兴趣,如果感觉不错,帮忙点个在看吧!!!