プログラムについて思うこと

  • オブジェクトの責任範囲大事
  • 責任範囲を決めるのは名前
  • 名前大事
  • 名前がひどいと混乱を招く
  • 何か処理は書いているが何をやっているのかよくわからないのは悪い兆候
  • 難しい処理、ローレベルな処理は裏に隠蔽する。使う側で簡単にさせることを意識
  • 本質的な処理を書いていくようにする。オブジェクトに値を詰め詰めするとかどうでもいい部分は書きたくないし意識したくない
  • 知りたくないことまで知りたくない

コードで表すと、

PagerFilter filter = new UnlimitedFilter();
Searcher searcher = UserService.getUserSearcher();
SearchInfo searcheInfo = searcher.search(
  Searcher.USER_SEARCH_SCHEME, 
  LoginUserInfo.getCurrentUserId(),
  filter
);
User user = (User) searchInfo.getFirstObject();

みたいなインターフェースよりも

User.current

の方がわかりやすくて良いよねという話