Python 减少循环层次和缩进技巧

2015-05-08 23:18:58 +08:00
 tanteng

原文: http://www.tantengvip.com/2015/05/python-for-level/
5485 次点击
所在节点    Python
25 条回复
fatestigma
2015-05-09 17:41:31 +08:00
这个好像是叫德摩根定律。。
shierji
2015-05-09 21:19:19 +08:00
感觉很有用 谢谢
x88484532
2015-05-10 14:39:55 +08:00
前段代码只是加深了判断层次,并没有加深循环层次
hhstore
2015-05-13 10:24:31 +08:00
用continue除了让代码变得不直观,增加debug的麻烦.看不出有啥意义.
写可维护性高,易读,易debug,不易出错的代码,比炫技更重要.

代码少,你用continue还可控.
代码量大了,过段时间,估计你自己都不确信自己当初是否是想表达这样的逻辑.

个人不喜欢版本2的写法,团队里,谁滥用这种写法,估计是神烦的.

不过倒是引起一个好奇,有必要检索一下常见的框架源码(Django,Flask)中有多少continue关键词.
看看正经的项目,有多少滥用continue的.
hhstore
2015-05-13 10:45:33 +08:00
我简单的在pycharm中检索了我的开发环境/Library/Python/2.7/site-packages目录下出现continue的包:

统计如下:
=======================================


项目 / 源码 / 单元测试
django /220次(口算求和,不一定准确) 10次
flask /2次
tornado /40次 /10次
bottle /9次
requests /16次
jinja2 /24次
httplib2 /6次
bs4 /7次
scrapy /13次
sqlalchemy /101次 /5次


=======================================

简单挑了几个,可以看出来.大多数的项目,使用continue的关键字都是极少.
我检索了我所有的开发包,总共出现942次continue.
安装的很多包,都是0次~

=======================================
感兴趣的小伙伴,自行看看自己的pycharm,做这个统计,还是很轻松的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/189619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX