動的型付けされたコードを維持する経験が不足しているので、私はこの種の状況を処理するための最良の方法を探しています:
(Pythonの例ですが、動的型付けされた任意の言語で機能する可能性があります)
def some_function(object_that_could_be_a_list):
if isinstance(object_that_could_be_a_list, list):
for element in object_that_could_be_a_list:
some_function(element)
else:
# Do stuff that expects the object to have certain properties
# a list would not have
メソッドは1つのことしか実行できないと思うので、これにはかなり不安があります。また、メソッドは本来あるべきほど読みにくいと思っています。したがって、3つの関数を作成したいと思います。最初の関数は任意のオブジェクトを取得し、他の2つの関数間で「ソート」します。1つはリスト用、もう1つは「単純な」オブジェクト用です。繰り返しになりますが、これにより複雑さが増します。
ここで最も「持続可能な」ソリューションは何ですか、そしてメンテナンスの容易さを保証するソリューションは何ですか?私が気付いていない状況のためのPythonのイディオムはありますか?前もって感謝します。