【アンチパターン】そのプログラミングはNGです!【基礎編】

anti-pattern-basic

コーディングをしていると、こんなシチュエーションありますよね。

つぶやき
  • あの人の書いたコード、なんかちょっとイマイチ…
  • でも、直接そういうと、なんか失礼…

そんなときは、「アンチパターン」の言葉を使って、さりげなく相手に伝えましょう。

目次

スパゲティコード

Bad…
リーダーさん

このコード、なんかこう、ごちゃごちゃしてるよね…

こんがらがって、どこからどう見たらいいか分からない、意味不明コード。

「なに考えて書いたコードなの直そうよ!」と思いますよね。

Good !
リーダーさん

このコード、とってもスパゲティコードね!

コードが絡まっているさまを、おいしいスパゲティに例えました。おいしいごはんのイメージで雰囲気もやわらぎますね。

コードはシンプルに保つのが一番です。

マジックナンバー

Bad…
リーダーさん

このコード、なんか、意味不明な数字がいっぱいあるけど…

flag = 3 とか if(mode==5) とか、なんの意味をもってるか、ぜんぜん分からない数字。

「コードを見るのはあんた一人だけじゃない! 」とつぶやきたくなりますね。

Good !
リーダーさん

このコード、マジックナンバーがいっぱいだね!

摩訶不思議な様子をマジックに例えました。ときには本人でさえ由来が分からなくなるマジックです。

ちゃんとよい名前を付けて、定数として定義しましょう。

神クラス

Bad…
リーダーさん

このコード、メソッドとかいっぱいありすぎるんだけど…

なんでもかんでも詰め込んで、すべてをそのクラスを介して処理している。ありますよね。

「いちいちそのクラス直さないといけないじゃない!」と言いたくなっちゃいますね。

Good !
リーダーさん

このクラス、まるで神クラスだね!
あまり神様に頼りすぎるのもよくないよ!

「すべてを知っている」唯一のクラスを、荘厳な神の姿で表現しました。でもプログラマーは神にすがってばかりじゃいけません。

クラスは、適切に責任分割して、メンテナンス性を保ちましょう。

魔法のボタン

Bad…
リーダーさん

ボタンイベントに、ロジックとかデータアクセスとか全部入ってる…

画面開発するとき、ボタン押したときのOnClickイベントに実施します。やる処理をそこに全部実装しちゃう。あるあるですよね。

「UIは今後どんどん変わるんだからロジックと分離しようよ!」と叫びそうになりますね。

Good !
リーダーさん

あなたのボタンは魔法のボタンみたいね!
でも魔法の使いすぎには注意しようね!

魔法のようにすべてを片付けるボタン。でもボタンなどのユーザーインタフェースはよく変わるので、そのときに魔法が解けてしまいます。

依存性が疎になるように抽象化して、メンテナンスしやすいモジュール構成にしましょう。

まとめ

これらの用法が適切かは置いておいて、アンチパターンを知ることは、コードの品質向上にも役立ちます。

ぜひ身につけましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次