我不知道如何描述这个事情,
但我知道,在写 C++的时候,如果这样写,可读性会强很多,而且可以杀掉很多临时变量:
longFunction() {
......
{ // task #1. 做了一点微不足道的工作
tempvars;
operations();
}
......
{ // task #i. 想看懂哥的代码,你必须知道的人生经验
tempvars;
operations();
}
}
我想交流的内容是,写 python 该如何实现这种情况 这样写最直观,但感觉太蠢。。。
def longFunction:
......
if '做了一点微不足道的工作':
tempvars
operations()
......
与之类似,用 with 的方法,可以实现类似效果, 优势是能增加可读性,但缺点是白白搞出一个对象,还有 4 个函数的开销。
def longFunction():
......
with SomeTips('做了一点微不足道的工作')
tempvars
operations()
......
当然 SomeTips 类是要自己写的
class SomeTips:
def __init__(self, arg):
return
def __enter__(self):
return
def __exit__(self, et, ev, eb):
return
我想问问,你们写各自语言都是怎么写的?
另外,python 有更好的方案么?或者什么内建类能代替 SomeTips ?
1
whileFalse 2017-09-19 16:19:02 +08:00
过度优化乃万恶之源
哦 是过早优化 python 不需要这么优化。不然何必用 python |
2
am241 2017-09-19 16:34:29 +08:00 via Android
为什么不拆成多个函数
|
3
msg7086 2017-09-20 00:37:06 +08:00 1
这贴太暴力了,还是考虑拆函数吧。
|
4
mingran OP |
5
msg7086 2017-09-20 10:08:30 +08:00
我们 Ruby 没有内嵌函数,都是平级的,不过一般推荐一个函数不要超过 10 行。我们自己一般限定在 30 行左右,再长的话都会考虑拆分,能移进对象的都移进对象里去。
|
6
jedihy 2017-10-02 14:10:57 +08:00 via iPhone
C++那种写法没觉得可读性增加了啊
|