2016年04月

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

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


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

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

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

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


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

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

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

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

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

追記(2016-05-16)

無事合格していた

2016年5月発売の気になる技術書

2016-05-18発売


2016-05-20発売

SOFT SKILLS ソフトウェア開発者の人生マニュアル
ジョン・ソンメズ
日経BP社
売り上げランキング: 2,967

2016-05-21発売

Pythonからはじめる数学入門
Amit Saha
オライリージャパン
売り上げランキング: 632

2016-05-25発売

UX戦略 ―ユーザー体験から考えるプロダクト作り
Jaime Levy
オライリージャパン
売り上げランキング: 6,896

2016-05-30発売

Docker実戦活用ガイド
Docker実戦活用ガイド
posted with amazlet at 16.06.24
吉岡 恒夫
マイナビ出版 (2016-05-30)
売り上げランキング: 13,477
プロフィール
知識欲と謎解き欲が旺盛なWebエンジニア。AWS認定ソリューションアーキテクト - アソシエイト。JAPAN MENSA会員
記事検索