2017-05-14 10 views
0

익스프레스 CRUD 애플리케이션에 다음 폴더 구조를 사용하고 있습니다. 필자는이 파일을 사용하여 70 줄을 넘지 않는 코드를 포함하는 이상적인 관리 코드를 사용합니다. 폴더 구조에 대한 귀하의 생각은 무엇입니까? 당신이 (70)이 구조가 어쨌든 허용하지 않는 이상적인 microservice의 일종을 만드는 곳 읽을하지 않는 한 수 (70)에 결정 이유를노드 익스프레스 CRUD 애플리케이션 폴더 구조

- bin\ 
    - www 
- common\ 
    - enums\ 
     - logTypesEnum.js 
    - validators\ 
     - studentNameValidator.js 
- config\ 
    - db.js # config file for database connection 
- models\ 
    - log.js # contains model data for model 'log' 
- routes\ 
    - log\ 
     - index.js # handles all routes for /log/ endpoints and requires files in the directory and also contains middleware code 
     - insert.js # handles all routes for /log/insert endpoints 
     - remove # handles all routes for /log/remove endpoints 
     - exportCSV.js # handles all routes for /log/exportCSV endpoints 
    - student\ 
     - index.js 
     - insert.js 
     - remove.js 
- public\ 
    - javascripts 
    - images 
    - stylesheets 
- views\ 
    - log\ 
     - index.jade 
     - insert.jade 
     - remove.jade 
     - exportCSV.jade 
    - student\ 
     - index.jade 
     - insert.jade 
- app.js 

답변

0

나는 확실하지 않다.

디렉토리 구조에 관해서. 필자는 내부 디렉토리 구조가 일반적으로 프로그래머 또는 팀 리더를 기반으로한다는 결론에 도달했습니다. 코드의 시각적 디자인과 구현을 보면서 머리 속에 의미가있는 것이 더 중요합니다.

그런데 IMHO는 지나치게 복잡하거나 Node에서 지나치게 구조화 된 디렉토리 구조를 말하게하고 예를 들어 PHP가 코드, 클래스 또는 단순한 함수에 액세스하기 위해 디렉토리 트리를 위아래로 움직이는 것을 과장하게 만듭니다. 말할 필요도없이 코드를 유지하기 위해 여러분을 뒤따라 오는 사람들에게는 수수한 표현이됩니다.

그래서 가정에서 느끼는 디렉토리 구조를 사용하십시오. 그러나 그것을 깨끗하고 복잡하지 않게하십시오. 모든 전화 및 기능의 모든 측면을 특정한 70 줄의 정의 가능한 디렉토리 구조로 숨기려고하지 마십시오. (다시 그 번호가 어디에서 왔는지 아무런 단서 없음).

깨끗하고 간단하며 현명한. IMHO를 따르는 것이 가장 좋은 규칙입니다. 아래 OP 질문에 따라

편집 :

  1. 선명도 코드는 라인의 양에 의해 정의되어 있지 않습니다. 코더를 테스트 할 때 어떤 언어를 사용하든 관계없이 화면에 코드를 입력하고 해당 코드 행을 일반 영어로 번역하도록 요청하십시오. 먼저 후보자 능력을 실제로 테스트합니다. 두 번째 코드가 명확하고 좋은 경우 다른 코더는 코드를 읽고 코드에서 진행중인 작업을 명확하게 이해할 수 있어야합니다. (사실 원래의 코더와 후보자를 모두 테스트합니다.) 명확한 코드는 라인에 관한 것이 아닙니다. 그것은 훌륭한 코딩 방법과 코드가 당신이 상상하는 것을 수행 할 수있는 능력에 관한 것입니다.

  2. 마이크로 서비스는 일종의 전문 용어가되었습니다. 그러나 본질적으로 그것은 단순히 "집중"을 의미합니다. 즉, 특정 작업을 수행하는 모듈을 생성한다는 의미입니다. 시스템의 각 모듈은 시스템에 필수적인 특정 작업을 수행하고 해당 작업에만 집중합니다. 나는 그것이 실제로 당신이 노력하고있는 것일 수 있다고 생각합니다. Node and Microservices에는 꽤 좋은 기사가 많이 있습니다.

+0

나는 코드의 명확성을 유지하기 위해 스크롤을 두 번 이상 줄이지 않았습니다. 귀하의 구조물이 어쨌든 허용하지 않는 이상적인 마이크로 서비스 라인에 대해서 더 말씀해주십시오. 이 구조의 특정한 후퇴를 지적하면 정말 도움이 될 것입니다. @twg 감사합니다. –

+0

귀하의 질문에 답변하기 위해 제 대답을 편집했습니다. 희망은 도움이됩니다. – twg