質問: Android アプリケーションの作成について質問させて頂きます. 現在,私が作成しているアプリケーションはMainActivityをNavigationDrawerを用いています.メニューの数だけFragmentを作成しています.各Fragmentには,アクティビティへのコールバック用のインタフェースを設けており,MainActivityで実装しています.Activityは,UIにおける大きな土台であると認識しています. また,作成中のアプリケーションではパーミッションの取得が必要になっています.そのため,パーミッションに関するコードもMainActivityに記述しています. 本来,Fragmentのコールバック用インタフェースの実装やパーミッションに関する記述はActivityの中で行うものだと思っていますが,Navigation Drawerにしているのと複数のパーミッションを扱う必要があるため,MainActivityだけでコードが300行くらいになっています. 私が今悩んでいるのは,MainActivityだけで300行になっている点で,このActivityに複数の責務を課しているのではないかという疑問があるからです.これは仕方がないで済ましていいのでしょうか?それとも,パーミッション関係は別でクラスを用意するべきでしょうか?(スプラッシュ画面を用意して,そのActivityに任せるというやり方もできるとは思いますが...)
回答: ソースコードを書かれていない以上は適切なアドバイスはできませんが、クラス分けをするのは可読性に繋がりますから、分けれるところは分けるべきです。 300行程度ならまだ良いという意見や、30行以内に収めろという意見もあるのでその辺は貴方次第です。