<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px} span.s1 {font: 12.0px 'Helvetica Neue'} span.s2 {font: 12.0px '.Apple SD Gothic NeoI'} </style>

안녕하세요. nodejs/express 프로젝트를 하고있는 신입 개발자입니다.

<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.Apple SD Gothic NeoI'; color: #454545} span.s1 {font: 12.0px 'Helvetica Neue'} </style>

이런걸 여쭤봐도 되나 싶기는 하지만, 어떤식으로 하는게 맞는지 확신이 서지 않고 주변에 물어볼만한 분이 계시질 않아서 몇가지 조언 부탁드리고자 올려봅니다



1. 라우트 설정 어떤식으로 설정 하는게 옳은건지 모르겠습니다.

 1.1 지금까지 같은경우는

     router.get('/select', function(req,res,next){ /..코드../ }

      이런식으로 바로 함수를 작성하여 넣는식으로 개발을 해왔습니다.

      그러다 이게 조금 지저분하다는 생각이 들어서

  1.2 /// router.js

  const test = require('/controller/test ');

  router.get('/select',test.select);

  /// test.js

  test.select = function(req,res,next){....}

     이런식으로 하면 조금 깔끔해보이는것 같아 수정을 하려던중, 안에 들어갈 내용을 따로 뺀다 하더라도 해당 코드는 웬만해서는

      라우터에서 밖에 사용하지 않을텐데, 이러면 괜히 디렉토리나 파일 많아지는것 아닌가 하는 의구심이 들었습니다.

      제가 생각하지 못한 메모리 문제가 생길 있지 않을까 걱정되었구요.


 2. 모델과 컨트롤러를 분리하려고 하는데, 전부 분리시켜야 하는게 맞는지, 중복으로 사용되는 부분만 분리시키는게 좋을지 모르겠습니다.


   초기 개발 했을때는 router.get ..... { //// router.js

     let query = " select * from test where status = ? "

     let user = await connect(query,[req.body.stat]); // 디비 조회입니다.

     user.map((v)=>{~~데이터처리});

     res.send(user);

   }

   이런식으로 한곳에서 모두 처리하였다가 현재는 여러곳에서 중복적으로 사용하는 쿼리만 따로

   //// dao.js

   dao.select = function(data){

    let query = " select ~~ ";

    return connect(query,data);

     }

     //// router.js

     const dao = require('/dao');

      router.get .... {

      ...

         let user = dao.select(data);

         user.map((v)=>{..데이터처리..});

         ...

         res.send(user);

      }


     이런식으로 사용하고 있습니다.

     전부 이렇게 처리 해야될지 중복적으로 사용되거나, 추후 중복으로 사용될만한 부분만 이렇게 처리 해야될지 모르겠습니다.


     진짜 밖에 사용 만한 부분도 따로 빼는게 나을까요?

      아니면 특수한 경우에만 사용되는 코드들은 그냥 컨트롤러에서 한번에 처리하는게 나을까요?

 선배님들의 조언 부탁드립니다