Python中的命名不唯一结果错误?
也许这个问题有点不寻常,但我想听听大家的看法。因为英语不是我的母语,所以我想请教一下别人的意见。
我想在Python中引发一个错误,但我不知道该怎么给它命名。
class AmbiguousResultError(Exception): pass
class NoResultFoundError(Exception): pass
def getUrlFor(mystring):
list_of_urls = []
# parse url object for all matching urls for the given string
# and add them to list_of_urls
if len(url) > 1:
raise AmbiguousResultError("More then one url matches for {0}".format(mystring))
elif not url:
raise NoResultFoundError("There was no matching url for {0}".format(mystring))
else:
return list_of_urls[0]
我在想第一个raise
的命名,怎样才能让它更准确。我考虑过以下几个名字:
NoUniqueResultFoundError
(没有找到唯一结果的错误)AmbiguousResultError
(结果模糊的错误)UncertainResultError
(结果不确定的错误)
但这些名字都让我不太满意,我不知道这样的命名是否合适。这个名字应该让别人也能明白。一定有一个更准确的表达方式。那是什么呢?我曾考虑在english.stackexchange.com上问这个问题,但我觉得程序员的思维方式和语言学家不太一样。
1 个回答
4
我更喜欢用 AmbiguousStringError
而不是 AmbiguousResultError
。毕竟,问题不在于结果有多重含义,而是用户提供的字符串。
或者可以用 MultipleResultsFoundError
。我觉得你提的 NoUniqueResultFoundError
也不错。如果你在其他代码上也能像对待这个问题一样细致周到,其他开发者在调试的时候就不会遇到问题。