visual-studio - 프로젝트에서 - 비주얼 스튜디오 프로젝트 열기




Visual Studio 솔루션의 폴더 또는 프로젝트? (5)

솔루션을 논리 계층으로 분할 할 때 폴더별로 그룹화하는 것보다 별도의 프로젝트를 사용하는 것이 가장 좋습니다.


소스 코드를 여러 프로젝트로 분리하면 이해할 수 있습니다. ... 더 많은 개발자가 참여하고 있으며 자신의 작업을 소모품 인 블랙 박스로 취급하고 싶습니다. (별로 권장하지 않음) ...

왜 이것이 권장되지 않습니까? 여러 부분에서 작업하는 여러 개발자와 함께 응용 프로그램을 관리하는 것이 매우 유용한 방법이라는 것을 알게되었습니다. 주로 병합을 사실상 제거하여 체크 인을 훨씬 쉽게합니다. 아주 드물게 두 명의 개발자가 같은 프로젝트에서 동시에 작업해야합니다.


기본적으로 항상 동일한 프로젝트 내에 새 폴더를 만듭니다.

  • 단일 조립품을 얻을 수 있습니다 (추가 ILMerge 체조없는 경우)
  • 난독 화하기 쉬워집니다 (공용 유형 및 메서드가 적어지기 때문에 더 이상 사용하지 않으므로)

소스 코드를 여러 프로젝트로 분리하면 이해할 수 있습니다.

  • 소스 코드의 일부분은 프로젝트에 포함되어 있지만 기본적으로 또는 전혀 배포 할 수 없습니다 (단위 테스트, 추가 플러그인 등).
  • 더 많은 개발자들이 참여하고 그들의 작업을 소모품 블랙 박스로 취급하고 싶습니다. (별로 권장하지 않음)
  • 프로젝트를 분리 된 레이어 / 모듈로 명확하게 분리 할 수 ​​있고 내부 구성원을 교차 소비 할 수 없도록하려는 경우 (어떤 측면이 가장 중요한지 결정해야하기 때문에 권장하지 않음)

소스 코드의 일부분을 재사용 할 수 있다고 생각한다면 여전히 새로운 프로젝트로 생성하지 마십시오. 정말로 다른 솔루션에서 재사용하고 필요할 때 원본 프로젝트에서 격리 할 때까지 기다려주십시오. 프로그래밍은 레고가 아니며 재사용은 대개 매우 어려우며 계획대로 진행되지 않습니다.


데니는 쓴 :

개인적으로 재사용 가능한 코드가 프로젝트로 분할되면 폴더에있는 것보다 다른 장소를 사용하는 것이 더 간단하다고 생각합니다.

나는 이것에 정말로 동의합니다. 다시 사용할 수 있다면 별도의 프로젝트에 있어야합니다. 그렇게 말하면 매우 효과적으로 재사용하기가 어렵습니다. :)

여기에 우리는 세 가지 프로젝트로 매우 단순 해 지려고 노력했습니다.

  • MVC 웹 프로젝트 (기본적으로 레이어를 폴더로 분리하는 훌륭한 작업)
  • DB의 소스 제어를위한 데이터베이스 프로젝트
  • MVC 모델 / 컨트롤러에 대한 단위 테스트

모두를 위해 말할 수는 없지만, 우리가 얼마나 단순하게 보관했는지에 만족합니다.


여러 프로젝트를 만들려면 솔루션에 코드를 추가하는 모든 사람이 프로젝트의 의도를 완전히 인식하고 프로젝트 간의 종속성을 이해할 수 있도록 모든 작업을 수행하십시오. 누군가가 갔을 때 혼란을 해결하려고 시도해 본 적이 없으며 거기에 있었으면 안되는 참고 문헌을 추가하고 몇 주 동안이 사실을 알게되면이 점을 이해하게 될 것입니다


피쳐를 프로젝트로 분리하는 것은 흔히 YAGNI 아키텍처 최적화입니다. 얼마나 자주 당신은 그 별도의 프로젝트를 재사용 했습니까? 빈번하지 않은 경우 이론적 인 재사용을 위해 개발, 구축, 배포 및 유지 보수가 복잡해집니다.

나는 실제적인 재사용 유스 케이스가있을 때 적절한 네임 스페이스를 사용하여 폴더로 분리하고 리팩토링하여 프로젝트를 분리하는 것을 선호한다.





projects-and-solutions