はじめに
本記事は悪いコードを羅列する記事になります。
大体の記事では悪いコードのあとに良い書き方の解説がありますが本記事は悪いコードのみの記載になりますのでご了承ください
こちらの記事は「プロもくチャット Advent Calendar 2024」の4日目記事です。
実際にあった悪いコード
def nested_if(is_first, is_second, is_third):
if is_first:
if is_second:
if is_third:
print('nest1')
else:
print('nest2')
else:
print('nest3')
else:
print('nest4')
def check_boolean(is_flag):
if is_flag == True:
print('true')
else:
print('false')
def nested_for(list1, list2, list3):
for i in list1:
for j in list2:
for k in list3:
print(i, j, k)
def comment_out_code(is_first_flag, is_second_flag):
# if is_first_flag:
# return True
# else:
# return False
if is_second_flag:
print('second')
else:
print('not second')
じぶんでも書いて嫌になってくるコードたちですね(^_^;)
他にも同じ処理をコピペして何回も同じ処理を書いたり、やたらとフラグを持たせて処理を分岐させたり、マジックナンバーは当たり前のように書いてあったりとメンテナンスやテストに困るコードが世の中にはたくさんあります。
このようなコードを自分で書いている様をまるでキリスタンが踏み絵をしているように感じてなりません笑
そしてこのようなコードを書いていても売上は一部上場しているほどの規模があるので何が正解なのか迷走している自分がいます...
悪いコードに遭遇して思ったこと
こんなコード絶対書くはずないじゃん!バカじゃねーの?って思われる方も多くいると思います。私自身もそうでしたし似たようなコードを書いて指摘されたこともありました。
しかし実際に自分が遭遇して唖然としそれを自分が書いていることに滅入ったりしています。
売上が上がれば、給料が貰えればそれで良しとする文化もありますが、結局は書いている自分たちが困ってしまうことが多くなり工数も増えてしまう現状があります。
このようなコードを書いてしまう背景にプロジェクトに対して何も思い入れがないって理由もあるかもしれまでんが、後から見返す人(自分かも)のために見通しの良いコードを心がけていきましょう。
むしろこれは問題だらけなのでエンジニアの本質である「問題解決能力」を存分に発揮できるチャンスではありますね!