2016年04月

スタティックメソッドの使いどころ

最近、スタティックメソッドの使いどころについて考えていた。結局「スタティックメソッドのラッパ」以外の用途が思いつかなかった。


スタティックメソッドA内で、インスタンスBのインスタンスメソッドを呼びたくなったとしたら、そもそもメソッドAはインスタンスBに属してしかるべきだ。簡単にいえば、Adder.add(a, b) はおかしくて、Foo.new(a).add(b) とすべきということだ。

なぜ「すべき」なのか。それがオブジェクト指向だからだ。手続き型のコードが書きたければ、オブジェクト指向言語を使う必要はない。

これまでの話を裏返せば、メソッド内でインスタンスメソッドを呼ばない場合にだけ、スタティックメソッドを使ってよいということになる。すなわち「スタティックメソッドのラッパ」である。

いったい、スタティックメソッドのラッパが欲しくなる場面がどれだけあるだろうか。


開発中のコードを上記の指針でリファクタリングしたら、スタティックメソッドが一切なくなった。よかった。

情報セキュリティマネジメント試験を受検した

情報処理技術者試験の新区分、情報セキュリティマネジメント試験を受検してきた。午前問題も午後問題もマークシート方式で、すでに問題と正答が公開されている。

試験の難度としては、午後問題が予想よりやや難しかった程度で、技術者であれば勉強せずに合格できるレベルだと思う。次回は難化するのではないか。

ぼくの結果は、自己採点では午前が1問ミス、午後が2問ミスだった。勉強はIPAの『組織における内部不正防止ガイドライン』をざっと読み、翔泳社の『情報処理教科書 情報セキュリティマネジメント 要点整理&予想問題集 [Kindle版]』の予想問題を解いたくらい。それでも内心、満点を狙っていたので残念。

追記(2016-05-16)

無事合格していた

記事検索
Twitter