search
LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

マンガでわかるお邪魔妖怪アンチパターン

B863DC91-5EA0-4984-B8C3-9A32A8B6C51A.png
http://wiki.c2.com/?PolterGeists

プログラムの文脈とは何の関係もないように見える、神出鬼没なオブジェクトが現れるパターンです。原文ではポルターガイストと言われています。

妖怪やポルターガイストは普通の人の目には見えないけれど、あるとき突然現れて、勝手に家具を動かすなどの悪さをしますね。プログラムコードの妖怪が厄介なのは、消してしまうと結果が変わることがある点です。

こういったオブジェクトはたいてい、プログラムのフローとは異なる空間 (グローバル変数や static フィールド、長寿命なコンテキストなど) での副作用を利用した制御をしています。この副作用に、いつも通るからと、当初意図されたもの以外の振る舞いが追加されている場合もあり、誰もその作用を把握できていない謎の処理になっていることもよくあります。

そうしたお祓いしにくい妖怪が最初から住み着かないように、できるだけ入出力でのみデータを扱うプログラムを書き、副作用を用いるにしても、その名前から作用が明らかなものにし、そこに複数の余計な処理を含まないようにしておきましう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5