条件分岐をしていて、条件の数が多くてif文が多くなるようなことってないですか?
僕はあります。
例えば、以下のようなコードの場合、if文が続いてしまっています。
for month_item in selected_month_list:
for i in range(1, 13):
if month_item == 'month1':
month_list.append(1)
if month_item == 'month2':
month_list.append(2)
if month_item == 'month3':
month_list.append(3)
if month_item == 'month4':
month_list.append(4)
if month_item == 'month5':
month_list.append(5)
if month_item == 'month6':
month_list.append(6)
if month_item == 'month7':
month_list.append(7)
if month_item == 'month8':
month_list.append(8)
if month_item == 'month9':
month_list.append(9)
if month_item == 'month10':
month_list.append(10)
if month_item == 'month11':
month_list.append(11)
if month_item == 'month12':
month_list.append(12)
上記の場合、以下のようにリファクタリングして、縮めることができます。
for season_month_item in selected_season_months:
for i in range(1, 13):
if season_month_item == f'month_option{i}':
month_list.append(i)
以上。