2012-01-12 18 views
1

私は、複数のコントローラを持つSpring対応Webプロジェクトに取り組んでいます。最近、私は上級開発者とどのようなコードをコントローラに入れるべきかについて話し合いました。Java Controllerどのコードを使用するのですか?

コントローラーを軽量化すると言った人もいますが、呼び出すメソッドのみがコントローラの中に入るべきです。処理の唯一の3行がある場合でも、それらの別々の方法行い、

generateOffersHubMapView(ブランド、contentMap)メソッドがコード

public ModelAndView generateOffersHubMapView(Brand brand, Map<String, Object> contentMap) {  
     ModelAndView mv = POGAModelandView.createWebModelAndView(brand, WLConstants.__HUB_OFFERS); 
     mv.addAllObjects(contentMap);  

     return mv; 
    } 

のわずか2行を含む

public ModelAndView offersMapView(HttpServletRequest request, HttpServletResponse response) { 

Map<String, Object> contentMap = getServiceLocator().getHyperLocalService().getOffersHubContents(searchPostcode, gmapKey, ip); 

      return getViewGenerator().generateOffersHubMapView(brand, contentMap); 
} 

を次のようにコントローラから呼び出します私のポイントは、別々のビュージェネレータメソッドを作成する2行は、コード処理の行数があるまではうまくいかないということでした。

反対の観点から、レイヤー間の分離を維持するための別の方法がありました。

コミュニティにもっと良いアプローチがあると思いますか?可能であれば、あなたの声明を支持するための参考資料を提供できますか?

+3

「コード行数が処理されるまでは」とは何を意味するのかよくわかりませんが、一般的には、コードの有効性を数行で考えないようにしてください別のメソッドでコードの行をいくつか持つことは間違いではありません(実際は、長いメソッドを持つよりも可読性が良いと主張しています)。できるだけカプセル化を保存する(実際には釘付けにするのが難しいことがあることは知っています)。 –

+1

私はこれらの2行を読むと混乱しています.1年後にコードを読むと同じ気持ちになると思います。だから、最低限の可読性を考えてみてください。 – medopal

答えて

1

Even if there are only 3 lines of processing, make them separate methods 

ことを言うと、私はそうする正当な理由なく3ライン毎に分割するだけで物事を複雑になると思う何のルールはありません。再利用性と可読性に集中する単一のメソッドでコードを再利用できる場合は、分割してください。あなたが長すぎて多くのことをする方法がある場合は、それを分割してください。 https://stackoverflow.com/questions/20981/how-many-lines-of-code-is-too-manyhttps://stackoverflow.com/questions/903754/do-you-still-limit-line-length-in-codeのディスカッションを読んでください。

個人的には、generateOffersHubMapViewメソッドの分割は、サンプルではあまり意味がないと思います。

関連する問題