로버트 C. 마틴은 썩은 디자인의 증상으로 점도에 대한 그의 저서 언급 중 하나에 언급. 소프트웨어 개발에서 점도에 대한 아이디어를 완전히 이해하지 못합니다. 몇 가지 예를 들어 주시겠습니까?썩어가는 디자인과 점도
11
A
답변
11
그는 디자인 점도와 환경 점도의 두 가지 용도를 가지고 있습니다.
먼저 치약과 땅콩 버터와 같이 점도가 높은 유체는 물처럼 저점도 유체처럼 원활하게 flow이 아닙니다.
점도가 높은 디자인은 디자인을 유지하는 것보다 해킹하기가 더 쉽습니다. 해킹은 코드를 더욱 단단하게 만들어 점도를 더욱 높입니다.
환경의 점도는 작업 흐름을 나타냅니다. 컴파일 시간이 길거나 시스템을 구축하거나 테스트를 실행하는 것이 어려울 경우 프로그래머는 통증을 완화하기 위해 바로 가기를 사용합니다.
13
코드가 오래되면서 해킹이 많아지고 의존성이 더 커지므로 무언가를 깨지 않고 변경하기가 더 어려워집니다.
그래서 "점성"과 "고체"가 적어 지므로 점도와 유사합니다.
3
점도는 외부 힘의 변화에 저항하는 액체의 능력입니다. 물은 측정을위한 기초이며 아주 저점도입니다 (예를 들어 한 경로에서 다른 경로로 자유롭게 흐를 것입니다). 많은 것을 머물러 있습니다 (단, 밝은 색 바지를 입지 않는 한 매번 그 길을 찾습니다 ...).
소프트웨어에서 이것은 코드가 변경에 저항하는 양을 의미합니다. 종속성이 많은 경우 주요 클래스를 변경하기가 어려울 수 있으므로 코드 저항 (점도 증가)을 증가시키는 이상적인 대안이 아닙니다. 잘 디자인 된 코드 (저점도)는 응용 프로그램이나 다른 클래스에 큰 영향을 미치지 않고 업데이트되고 추가 될 수 있습니다.