代码风格和可读性[was:Re:检查集合的布尔值]

在2008年9月13日星期六下午4:11,Fredrik Lundh 好吧," true_for"确实很难以理解,但我不确定这会
成为我在那句话混乱中抱怨的第一件事...
"冗长的混乱".
当您做自己认为最好的事情时,总是令人沮丧
你读了.
无论如何:我在这里学习,当然,其中的一部分是听
那些去过那里比你更长的人.
因此,感谢您的真诚评估,Fredrik :-).
也许我现在正在看错误的方向.从
folderinuse客户端的视图,他们将做:
条件= folderinuse(core)
条件.true_for(文件夹)
这太冗长了吗?这不是一个争论的声明,我真的
问你的选择.
true_for内部的表达确实很复杂,也许我可以
简化它;但是,我深信不疑
instance.forbid_to_close(文件夹)
上面有一些好处;我的意思是,一旦我阅读了这种代码,我
可以希望理解它而无需查看什么forbid_to_close
做.
- -
marco bizzarri http://notenotturne.blogspot.com/ http://iliveinpisa.blogspot.com/(_@_ _)
Marco Bizzarri写道:
好吧," true_for"的确是难以理解的,但是我不确定这是我在那个冗长的烂摊子中抱怨的第一件事...

"冗长的混乱".
当您做自己认为最好的事情时,总是令人沮丧
你读了.
无论如何:我在这里学习,当然,其中的一部分是听
那些去过那里比你更长的人.
因此,感谢您的真诚评估,Fredrik :-).
也许我现在正在看错误的方向.从
folderinuse客户端的视图,他们将做:
条件= folderinuse(core)
条件.true_for(文件夹)
这太冗长了吗?这不是一个争论的声明,我真的
问你的选择.
true_for内部的表达确实很复杂,也许我可以
简化它;但是,我深信不疑
instance.forbid_to_close(文件夹)
上面有一些好处;我的意思是,一旦我阅读了这种代码,我
可以希望理解它而无需查看什么forbid_to_close
做.
恕我直言
为了清楚起见,重视并将其重写为常规循环.有时最简单的方法
是最简单的阅读.
class folderinuse:
def __call __(self,档案库):
结果= false
例如,在self.core.active_outonogen_registration_instances():
如果是instance.forbid_to_close(ArchiveFolder):
结果= true
休息
返回结果
然后可以与:
如果folderinuse(存档文件):
...
-larry

# 回答1


Bruno Desthuilliers写道:
恕我直言,这里滥用__call__魔法方法根本没有意义.

对不起 - 经过更仔细地重新阅读线程中的其他帖子后,
鉴于用例,可能是有道理的:
条件= folderinuse(core)
如果条件.true_for(文件夹):
#在这里代码
但是然后,普通功能(或部分)可能是夏娃 n更好 - 那 是,如果Folderinuse类没有其他责任. 抱歉,但我谨此不同意这是对__call__方法的"滥用". 我确实同意,普通功能可能更有意义,但看来 由于引用了其他班级实例,因此班级做"其他"的事情,等等. 我也对早期回报有个人的不喜欢,因为我发现它使它变得 硬插入执行跟踪登录代码. 只是我的经验. -larry

# 回答2

拉里·贝茨(Larry Bates)写道: 用一种使包裹任意可可的语言在 追踪包装纸?

标签: python

添加新评论