2011-04-13 4 views
5

기존 C# winforms 응용 프로그램을 다시 작성해야합니다. 불행하게도,이 코드는 지난 3 ~ 4 년 동안 적어도 12 명의 다른 개발자가 수정 한 것으로, 누구도 겉으로는 모든 종류의 코딩 표준을 준수하지 않았습니다. 이 코드베이스가 엉망이라고 정중하게 말할 것입니다. 코드의 크기 (~ 24k 라인)와 코드가 완전히 새로운 것임을 감안할 때,이 애플리케이션이 어떻게 높은 수준에서 작동하는지 더 빨리 이해할 수있는 유용한 유틸리티를 찾고 싶습니다. 이 코드에는 훌륭한 OOP 프랙티스가 많이있는 것 같지 않으므로 클래스 다이어그램보다 좀 더 상세한 것이 필요하다는 것을 명심하십시오. 내가 찾고있는 것과 비슷할 수도있는 시퀀스 다이어그램 생성에 대한 참조를 보았지만 VS2010 Premium 만 있고이 기능은 VS Ultimate SKU와 함께 제공된다는 인상하에 있습니다. .NET Reflector의 현재 버전에 대한 액세스 권한이 있으며 몇 사람이 유용 할 수있는 플러그인이 있지만 특정 이름이 없음을 언급했습니다.C# 코드 흐름 매핑/시각화 유틸리티?

+0

주어진 작업에 어떤 코드가 관련되어 있는지 알아 보려면 PartCover 나 (더 나은) 상용 대안 같은 코드 적용 도구를 사용하십시오. 그것은 종종 나를 이해하는 데 도움이됩니다. 그러나 나는 이것을 실제로하는 방법을 기억하지 않기 때문에 답변으로 게시하지는 않습니다. – Qwertie

답변

6

재앙이 될 수 있습니다 처음부터 코드를 다시 쓰기 :이 참조 : 당신은 전에 다스 개발자가 있었다 언급 한 바와 같이 http://www.joelonsoftware.com/articles/fog0000000069.html

이것은 쉬운 일이 아니다. 각 개발자의 뒤에는 자신의 방법론과 자신의 시스템 논리가 있습니다. 모두 은 자신의 방식대로합니다. 여기

는 개발자가 아직 주위하거나 또는 경우에도 찾기 위치 또는 악화 변경 작업
  • 을 변경 여부 다른 개발자 논리
  • 다음

    • 발생할 수있는 문제의 일부입니다 기술 사양이 존재합니다 (이것이 가장 중요합니다).
    • 원래 쓰여지고 패치 된 후 다시 패치 된 레거시 코드입니다 ...
    • 플로우 차트의 무리를 가지고 게다가 어떤

    가있는 경우 통합 또는 응용 프로그램

  • 보안 내에 기록 된 수있는 코드는/가장 좋은 방법은을 요청하거나받을 수있는 응용 프로그램의 다이어그램은 기술 사양입니다 . 프로그램의 목적은 무엇이며 12 명의 다른 사람들이 그 일에 종사하고 있다는 것을 감안할 때 자신이 취할 수있는 것입니까?

    OOP에 대해 언급했는데 스파게티 코드를 사용하고 객체 지향 모델에 맞게 전체 재 작성을 수행 할 계획입니까? 그렇다면 그것은 많은 작업입니다 ... 그리고 그것에 일하는 12 이전의 두뇌로 누군가의 논리는 당신을 위로 여행 할 의무가 있습니다.

    죄송합니다. 최선의 조언이 없지만 이것은 어려운 작업 일 수 있습니다 ... 특히 개발자가 더 이상 존재하지 않는 경우 특히 그렇습니다.

    더 많은 정보를 원하시면이 SO 스레드를 참조하십시오 :

  • +0

    안녕하세요. Jon. 빠른 답장을 보내 주셔서 감사합니다. 당신은 많은 좋은 점을 만듭니다. 불행하게도 이것은 "이것이 우리가 할 일"이라고 말한 상황 중 하나입니다. 사실 저는 고용주에게 이와 비슷한 주장을 제기했지만, 재 작성이 필요하다고 결정했으며이를 수행하기 위해 최선을 다하고 있습니다. :-( – user685869

    +0

    (개인적으로 나는 그것들을 즐긴다 : D) 재 작성해야한다면 새로운 버전에서 쓸 유용한 조각을 새로운 프로젝트로 복사하고 단위 테스트를 작성하는 기능을 분리 해 볼 수있다. 새로운 GUI 응용 프로그램 작성하기 Update Control - http://loyc-etc.blogspot.com/2011/04/update-controls.html을 배우는 것이 좋습니다. 일단 알아 내면 개발이 가속화 될 것입니다. – Qwertie

    0

    전체가 유효하지는 않지만 기존 코드의 일부가 완벽하게 훌륭하다는 것을 확신합니다. 나는 당신이 그 부분을 가지고 그들 주위에 단위 테스트를하고 헐떡 거림를 복사하여 새로운 프로젝트에 붙여 넣는 것이 좋습니다. 그런 식으로, 당신은 조금씩 당신의 엉망진창을 재구성하고 시험해 보게 될 것입니다.

    또한 내가 항상하고 싶었던 것은 많은 코드를 인쇄하고 (실제 금속 scisors로) 잘라내어 그들이 사용되는 방법을 다시 테이프로 묶어 워크 플로를 시각화하는 것입니다.