我试图让我的代码万无一失,但我注意到输入内容需要很多时间,阅读代码需要更多时间。
代替:
class TextServer(object):
def __init__(self, text_values):
self.text_values = text_values
# <more code>
# <more methods>
我倾向于这样写:
class TextServer(object):
def __init__(self, text_values):
for text_value in text_values:
assert isinstance(text_value, basestring), u'All text_values should be str or unicode.'
assert 2 <= len(text_value), u'All text_values should be at least two characters long.'
self.__text_values = frozenset(text_values) # <They shouldn't change.>
# <more code>
@property
def text_values(self):
# <'text_values' shouldn't be replaced.>
return self.__text_values
# <more methods>
我的 python 编码风格是否过于偏执?或者有没有办法在提高可读性的同时保持它的万无一失?
- 注 1:我在 和 之间添加了评论
<
,>
只是为了澄清。 - 注意2:我试图防止滥用我的代码的主要傻瓜是我未来的自我。