내가있어 코드 :이 냄새 나는 코드를 어떻게 리펙토링합니까? 이 같은 (로깅, 복사 및 붙여 넣기, 닷넷 3.5)
Logger logger = new Logger();
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
logger.LogInformation("Calling SomeObject.SomeMethod at " + DateTime.Now.ToString());
stopWatch.Start();
// This is the method I'm interested in.
SomeResponse response = someObject.SomeMethod(someParam);
stopWatch.Stop();
logger.LogInformation("SomeObject.SomeMethod returned at " + DateTime.Now.ToString());
logger.LogInformation("SomeObject.SomeMethod took " + stopWatch.ElapsedMilliseconds + " milliseconds.");
는 좀 성능 프로파일 링을 수행하는 더 많은 개체 및 방법 주위에 유사한 코드를 포장해야합니다. 제 3 자 플러그인이나 소프트웨어 등을 사용할 수 없습니다.
나는이 모든 코드가 이러한 모든 로깅 코드를 호출하는 것과 같은 코드를 작성하지 않을 것입니다. 코딩 작업을 일부 제거하기 위해 어떻게 리팩터링 하시겠습니까?
내가 명확하지 않다면 의견에 질문을하면 명확하게하려고 노력할 것입니다.
도움 주셔서 감사합니다.
이것이 Java 인 경우 AspectJ를 제안합니다. 닷넷에 상응하는 것이 있습니까? –
.Net과 비슷한 점이 있지만 사용하지 못할 수도 있습니다. –