2017-11-19 9 views
-1

현재 프로젝트에서 사용자가 버튼을 누를 때마다 해결책을 호출합니다 (변수가 올바른 한 해결책을 호출합니다)). 그리고 나는 각 정확한 사용자 입력에 대해 solution2 내부의 메소드를 호출하거나 start 메소드에 모든 것을 쓰고 올바른 사용자 입력에 대해 단순히 "활성화"solution2를 호출하는 사이에 찢겨납니다. 나는 그들 중 하나가 큰 어려움을 야기 할 것이라는 점을 제외하면 어느 것이 더 쉬운가에 대해 너무 귀찮게하지 않는다. 나는 그것을하기에 가장 최적화 된 방법만을 찾고있다. 도와 줘서 고마워. -TAG실행 중에 솔루션 호출을 여러 번 최적화하는 방법

+0

하나의 프로젝트에는 두 가지 유형이 있습니까? 두 가지 winform 앱과 라이브러리 프로젝트를 호출하는 MVC 프로젝트 또는 WCF 애플리케이션을 "프로젝트 2"라고 부르는 것의 큰 차이점이 있습니다. 또한 왜 2 개의 프로젝트가 필요합니까? 2 개의 프로젝트가 있다는 것은 관련이 있습니까? 아마도 실제 문제일까요? –

+0

저는 게임 프로그래머입니다. 커다란 프로젝트에서 다루기 쉬운 대형 솔루션보다 많은 솔루션을 사용하도록 가르쳐 왔습니다. 이 경우 solution1은 관리자 (즉, 솔루션 코드 또는 스파게티 코드) 여야합니다. 정비사가 사용되는 방법을 구성하는 여러 가지 다른 솔루션이 있지만 주요 정비사를 관리합니다. 양해 해 주셔서 감사합니다. -TAG –

+0

흠, 여기 몇 가지가 섞여 있습니다. 스파게티 코드 작성과 여러 솔루션 작성 간에는 큰 차이가 있습니다. 당신은 주요 관심사 조직이며 단일 책임/SOLID 또는 여러 프로젝트를 사용하는 것이 직접 관련이없는 실제 오버 헤드 성능 질문을 고수하고 있습니까? –

답변

0

두 가지 방법으로 문제를 해결하고 최적화가 가장 중요한 문제인 경우 측정하십시오! 이것은 스톱워치 (Stopwatch) 클래스를 잘 사용하지만, 현재 시간을 기록하고 함수 완료 후 시간을 빼서 diff를 얻는 것조차 도움이 될 것입니다. 각 솔루션에 대해 (릴리스!) 빌드를 만들고이를 여러 번 실행하여 어느 것이 더 빠른지를 확인하십시오.

성능이 가장 우수한 솔루션을 결정했으면 해당 솔루션을 유지하고 성능 추적을 그대로 두어 코드의 병목 현상을 식별 할 수 있습니다. 이렇게하면 자신감을 가지고 성능 문제를 격리하고 수정할 수 있습니다. 이상적으로 구현 세부 사항을 고유 한 클래스로 분리하여 나머지 코드를 변경하지 않고도 자유롭게 리펙토링 및 최적화 할 수 있습니다.