7

関数が例外を出力し、例外が発生した場合に失敗する代わりに None を返すデコレーターがあるとします。これが良いアイデアであると仮定すると、好ましい命名スタイルは何ですか?

a)

@ignore_exceptions
def foobar(a, b, c):
    raise ValueError("This function always fails...")

b)

@ignores_exceptions
def foobar(a, b, c):
    raise ValueError("This function always fails...")

つまり、それはa)コマンド (デコレーターが関数に別のことをするように指示する) かb)、説明 (デコレーターはプログラマーに関数の属性を知らせる) か?

4

2 に答える 2

7

アクティブ バージョン ( ) は、少なくとも私がよく知っている Python コード ベースではignore_exceptions、記述バージョン ( ) よりも使用されていると思います。ignores_exceptions

PEP 8 ガイドラインには命名規則に関するセクションがありますが、この場合はあまり役に立ちません。いずれにしても、コード ベース全体の一貫性が最も重要です。

于 2012-06-15T19:26:33.097 に答える
2

PythonDecoratorLibraryページignore_exceptionsに表示されている内容に基づいて、ここでより良いと言えます。

そこで使用されているデコレータ名の例には と がcountcallsありdump_args、これは よりも一貫性がignore_exceptionsありignores_exceptionsます。

どちらも何が起こっているかを明確にするため、一貫性は実際にはどちらか一方を選択する唯一の理由です。

于 2012-06-15T19:27:36.237 に答える