ningleesherry 发表于 2017-5-3 06:43:39

python代码缩进的解决方案

这个不是Python的问题,不管你用那个编程语言都会碰到这个问题。也没有统一的解决方案。前面诸位提到的编辑器折叠代码的功能确实能部分解决问题,
但是从根子上讲,还是得靠合理地设计程序结构。我这里讲一些我自己的心得,供你作参考。

首先要合理使用Py的sub function
def outer():
   def inner():
       foobarblahdah

然后把很多nasty的东西放到inner里面。很多时候这种方法能解决很多问题。

此外,要合理使用generator。Py的generator是一个非常强大的工具,用得好,能让你的代码非常赏心悦目。比方说,很多时候,多层的
for while,就是要一环套一环地筛选对象。那么你完全可以这么写代码。

def func():
   criteria1 = lambda : foo
   criteria2 = lambda : bar
   criteria3 = lambda : blah
   criteria4 = lambda : dah

   def gen1(object_set, *criteria):
       for i in object_set:
         play_with_foo_bar_blah_dah
         yield i
   def gen2(object_set, *criteria):
       for i in object_set:
         another_sieve_processing_algo
         yield i

   for i in gen(list_of_objs, (dar, blah)):
       foobarblahdah

这个思路基本上就是在照抄twisted的defer了。criteria1,2,相当于单台机床,gen1,2,相当于排流水线,真正调用gen
(list_of_objs, (dar,blah))的时候,相当于投料正式生产。

此外,还要善于利用Py内置的shortcuts。比方dict的get,setdefault,以及or,and,if else赋值语句等等。

这个东西,说到底还是比较技巧性的。就是说,只要多读代码,retrospect自己的代码,或早或晚都能掌握的。
页: [1]
查看完整版本: python代码缩进的解决方案