2014-04-22 1 views
-2

다음 중 어떤 코드 커플 링이 발생합니까? 커플 링의 종류는 무엇입니까? 이 커플 링에 의해 유발되는 문제점은 무엇입니까? 커플 링을 줄이기 위해 코드를 어떻게 리팩토링 할 수 있습니까? 이 접근하는커플 링 및이를 줄이는 방법

a busy cat

+0

우리가 당신을 위해 일하기를 기대하기보다는이 질문에 대해 지금까지 연구와 생각을 공유하면 더 나은 응답을 얻을 수 있습니다. – DNA

+0

그리고 질문을 해결하는 방법을 모른다면? – user2013804

+0

지금까지 어떤 연구를 해왔습니까? 예를 들어, "코드 결합"에 대한 인터넷 검색을 시도해 보았습니까? 그 중 어떤 부분이 불분명합니까? 당신이 어떤 노력을했다고 우리에게 보여 주면, 우리는 더 많은 도움을받을 가능성이 있습니다. – DNA

답변

0

한 가지 방법은 기능/방법에 따라 모든 것을 보는 것입니다.

명시 적으로 인수에 따라 달라집니다.이 경우 컨트롤 커플 링의 한 형태입니다. 우리는 고립에서이 방법을 컴파일하려고하면

그러나, 우리 모두가에 따라 달라 다른 개체를 볼 수 있습니다

  • Log, 및 로그의 몇 가지 구체적인 방법을 (우리는 항상 모두를 호출하는 것주의 이 방법
  • 특정 수집기 클래스 4 회 반복
  • IGNORE_USER_REQUESTS
  • LOG_VERBOSITY_LEVEL) 이러한 방법.
  • mem 4 특성 (등 크기, startAddress) - 내용 커플 링의 아마 형태

나는 당신이하지 비록 거기에 일반적인 커플 링 (공유 전역 변수)의 몇 가지 경우가 있다는 것을 주장 할 수 있다고 생각 제한된 맥락에서 끔찍하게 분명하다. 그리고 변수는 객체 또는 패키지 내에서 범위가 지정 될 수 있으며 실제로는 '전역 적'이 아닙니다.

는 그런 생각 : 우리가 이러한 항목 중 하나를 변경하고자한다면 어떤 일이 일어날 것이라고

  • . 예를 들어, 다른 Collector 구현 또는 다른 로거를 사용하려는 경우; 또는 mem의 구조가 변경 되었습니까?
  • 이 방법을 테스트하려면 어떻게해야합니까?

더 넓은 코드를 이해하지 않고도이 커플 링의 영향을 정확하게 평가할 수는 없습니다. 예를 들어 이러한 객체가 단일 작은 클래스 내에 캡슐화 된 경우 이러한 객체가 전체 코드에 분산되어있는 경우보다 영향이 적습니다. 비슷하게,이 코드를 리팩터링하는 것은 약간 까다 롭습니다. 가상 코드의 다른 곳에 영향을 줄 수있는 부분과 리팩토링 할 수있는 객체 (예 : 일부는 타사 라이브러리에서 가져온 것일 수 있습니다) .