エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
ユーティリティクラスみたいなのを作って、そこにクラスメソッドを集めるのはよくあることだと思いつつ... ユーティリティクラスみたいなのを作って、そこにクラスメソッドを集めるのはよくあることだと思いつつ、悩ましいコードを眺める。 利便性のためにユーティリティクラスを作るという趣旨はわかるんだけど、クラスメソッドにすると安易にどこからでもアクセスしやすい状況ができてしまう。ユーティリティクラスにはいろんな機能が追加され、どんどん巨大化する。巨大化したユーティリティクラスのクラスメソッドは、プログラム全体のあちこちから呼び出されることになる。 で、そうやってできたプログラムをリファクタリングしようとしているところ。 ユーティリティクラスに突っ込まれたメソッドを眺めると、機能的にも異なるカテゴリのものが集まってるので、本来はいくつかのクラスに分割すべきだと気付く。さらに整理してみると、本来はそれなりにインスタンスがあって、そのインスタンスメソッドとして提供した方が、設計上もうまくいくことが分かる。