昔書いたif文中の条件文が見づらい

[`evernote` not found]
[`livedoor` not found]
[`yahoo` not found]

仕事で過去に書いていたソースコードをドキュメント化する必要が生じ、昔書いたソースコードを見なおしてドキュメント出力用のコメントを付け足していってるのだけど、いろいろとひどい。
いろいろひどい点はあるのだけれども、特にif文中の条件文がところどころ見づらい(醜い)。
例えば下記のような感じ。

変数名は異なるけど、こんな感じの書き方だった。とりあえず、なんとか何をしたいのか分かったものの、正直見づらい。ただ、今の自分でもどうやったらもっとうまく分かりやすくかけるかも思いつかないし、今でもこうしてしまう時があるので今でも過去の自分に怒る立場ではない。

例えば、先日、コードのネストを深くするな | anoparaというページを見たのだけれども、この中のisValidという関数、自分なら多分、下記のように書いてしまう。

今思ったけど、最初に書いたコードだけど、関数化すれば少しはマシになるかもしれない。例えば、下記のような感じで。

うーん。ちょっとだけマシになったような気もするけど・・・。まだ何かダメな気も・・・。こういう複雑な条件文の解決策って何かないもんだろうか・・・。

それ以前に、ここまで複雑な条件にする必要があるのかどうかをまず考えなおす必要があるのかもしれないですね。ただ、上記のeとかは仕様変更に伴い、後で増えた変数なんですが・・・。

コメントを残す

メールアドレスが公開されることはありません。