2012-05-15 3 views
0

몇 페이지의 코드가 있습니다. 이 "계산"등을 많이하고 있기 때문에 그것은 꽤 추한하지만 그렇게 많은 algorthims처럼 여러 단계의 포함 : 내가 떠나고 싶어 긴 수학 알고리즘의 부분을 분리하는 방법?

  • 킬 주문을 떠나고 싶어

    1. 계산 주문하지만, 나는 내가 떠나고 싶어
    2. 죽일 다른 주문을 추가 할 수 있기 때문에 볼륨 제한으로
    3. 계산 주문을 떠날 수 없다하지만 난 때문이 아니라
    4. 조정 수주가 원하는 볼륨
    5. 에 맞게 액수가 수주 할 수

    완전히 무대에서 적어도 5 페이지 분량의 코드를 분리하고 싶습니다. 그러나 각 단계마다 별도의 방법을 도입하고 싶지는 않습니다. 왜냐하면이 단계들은 단지 함께 사용하기에 무의미하기 때문에 무대 자체가 무의미하기 때문에 각 단계마다 별도의 방법을 만드는 것이 좋지 않을 것이라고 생각합니다.

    제가 C# #region을 분리해야한다고 생각합니다. 무엇이 좋을까요?

  • 답변

    0

    #region 지시문을 사용하면 카펫 아래의 먼지 만 쓸어 낼 수 있습니다.

    @ RasmusFranke의 조언에 따르면, 기능을 메소드로 분리하는 동안 많은 메소드가 클래스 수준의 개념을 나타내는 경우가 있습니다. 그런 다음 새 클래스에서 메소드를 이동할 수 있습니다. 메서드를 만드는 유일한 이유는 재사용이 아닙니다.

    리 팩터, 리 팩터, 리 팩터. RefactoringWorking Effectively with Legacy Code의 기술을 사용하는 동안 SOLID과 같은 원칙을 염두에 두십시오.

    Resharper 또는 Refactor와 같은 도구를 사용할 수 있다면 느려지고 사용하십시오! Pro는 리펙토링하는 동안 발생할 수있는 실수를 최소화하는 데 도움이됩니다.

    특히 이전에 언급 한 도구에 액세스 할 수 없거나 몇 가지 주요 리팩토링을 수행중인 경우 테스트를 통해 문제가 있는지 확인하십시오. 레거시 코드에 대한 테스트를 작성하는 것이 어려울지라도 테스트를 작성하지 않은 경우 일부 작성을 시도하십시오.

    마지막으로, 꼭 필요한 것은 아니지만 만지지 마십시오. 그것이 작동하지만 "추악한"것이고 변경을 필요로하는 코드의 일부가 아니라면 그대로 두십시오.

    1

    논리를 작은 작업으로 분리하는 개인적인 방법을 사용하십시오. 논리가 한 곳에서만 사용되는 경우에도 많은 코드 가독성을 높입니다.

    관련 문제