メソッドに関するすべてのロジックを 1 つの場所に含めるために、複数の場所で使用されているメソッドからブール値を返すことがよくあります。(内部) 呼び出しメソッドが知る必要があるのは、操作が成功したかどうかだけです。
私は Python を使用していますが、質問は必ずしもその言語に固有のものではありません。私が考えることができるオプションは2つだけです例外を発生させますが、状況は例外的ではありません.関数が呼び出されるすべての場所でその例外をキャッチすることを忘れないでください私がやっているようにブール値を返します.
これは、私が話していることを示す非常に単純な例です。
import os
class DoSomething(object):
def remove_file(self, filename):
try:
os.remove(filename)
except OSError:
return False
return True
def process_file(self, filename):
do_something()
if remove_file(filename):
do_something_else()
動作しますが、設計が悪いです。どうすればこれを改善できますか?