我试图使我的代码更简单,但我注意到,键入代码需要很多时间,并且需要更多的时间来读取代码。在
而不是:
class TextServer(object):
def __init__(self, text_values):
self.text_values = text_values
# <more code>
# <more methods>
我倾向于这样写:
^{pr2}$我的python编码风格是否过于偏执?或者,有没有一种方法可以提高可读性,同时又能保证它不会出错?在
<
和{
在Python中,使用私有实例属性,然后像您所拥有的那样通过属性公开它是不寻常的。只需使用
self.text_values
。在“我的python编码风格是否过于偏执?或者,有没有一种方法可以提高可读性,同时又能保证它不会出错?”在
你要保护自己的那个傻瓜是谁?在
你呢?你担心你不记得你写的API吗?在
同龄人?你是否担心隔壁的人会主动尝试通过API传递错误的东西?你可以和他们谈谈解决这个问题。如果您提供文档,它可以节省大量代码。在
一个完全反社会的人会下载你的代码,拒绝阅读API文档,然后用不恰当的参数调用所有的方法?你能为他们提供什么样的帮助?在
“傻瓜证明”编码并不是很有帮助,因为所有这些场景都可以用另一种方式更容易地解决。在
如果你是在自欺欺人,也许这并不明智。在
如果你是一个同事或同事的傻瓜证明,你应该——也许——和他们谈谈,确保他们理解API文档。在
如果你是在愚弄一些假想的反社会程序员谁来颠覆API,你就无能为力了。是Python。他们有消息来源。当他们可以编辑源代码来破坏代码时,为什么还要费劲去滥用API呢?在
以下是this page中关于Python习惯用法的一些好建议:
捕捉错误而不是避免错误,以避免使用特殊情况使代码混乱。这个成语叫做EAFP(“请求原谅比请求许可更容易”),与LBYL(“三思而后行”)相反。这通常使代码更具可读性。例如:
更糟的是:
更好:
^{pr2}$(请注意,在这种情况下,第二个版本要好得多,因为它可以正确处理前导的+和-,以及介于20亿到100亿之间的值(对于32位计算机)。不要因为预测所有可能的失败而使代码变得混乱:只需尝试一下并使用适当的异常处理。)
相关问题 更多 >
编程相关推荐