본문 바로가기
[실용주의 프로그래머] 결합도 줄이기와 디미터 법칙 [실용주의 프로그래머] 결합도 줄이기와 디미터 법칙 구부러지거나 부러지거나 -유연함을 유지하는 한 가지 좋은 방법은 가능한 적은 양의 코드를 작성하는 것이다. -코드를 세포(모듈)로 구성하고, 이들 간의 상호작용을 제한하라.그러면 한 모듈이 변경되거나 교체된다 하더라도 다른 모듈들은 변경 없이 수행될 수 있다. 결합도 줄이기 -의존의 증가가 나쁜 이유는 시스템 어딘가의 무관한 변화가 여러분의 코드에 영향을 미칠 수 있는 위험이 커지기 때문이다.이렇게 되면 개발자가 수정한 부분이 시스템에 어떤 영향을 미칠지 몰라 코드의 수정을 두려워하게 된다. 디미터 함수 법칙 -디미터 함수 법칙은 프로그램에서 모듈간 결합도를 최소화하려 시도한다.이 법칙은 한 객체가 제공하는 메서드에 접근하기 위해 또 다른 객체들을 통하.. 2018. 10. 29.
[실용주의 프로그래머] 가역성 [실용주의 프로그래머] 가역성 -당신이 가진 생각이 딱 하나밖에 없다면, 그것만큼 위험한 것은 없다. - 에밀 사르티에 -무언가를 구현하는 방법에는 여러 가지 길이 있고, 보통 하나의 솔루션에는 여러 벤더의 제품이 존재한다."이것은 이 방법으로만 해결할 수 있어"와 같은 근시안적인 생각을 갖고 프로젝트에 참여한다면 아마도 예상치 못했던 경우에 의해 한숨지을 일이 많을 것이다.많은 프로젝트 팀들이 프로젝트를 진행하면서 어쩔 수 없이 고통스럽게 그들의 근시안을 조금씩 수정하게 된다. 가역성 -유연하고, 적응 가능한 소프트웨어를 만드는 방법은 DRY 원리, 결합도 줄이기, 메타데이터 사용하기 등이 있다.이들을 따른다면 중요하면서도 되돌릴 수 없는 결정을 가능한 한 줄일 수 있게 될 것이다.이는 우리가 프로젝트.. 2018. 10. 1.
[실용주의 프로그래머] 직교성 [실용주의 프로그래머] 직교성 -설계, 빌드, 테스트 그리고 확장하기에 쉬운 시스템을 만드는 데에 있어 직교성(Orthogonality)은 매우 중요한 개념이다. 직교성이란 -컴퓨팅에서 이 용어는 일종의 독립성(independence)이나, 결합도 줄이기(decoupling)을 의미한다.하나가 바뀌어도 나머지에 어떤 영향도 주지 않으면 서로 직교한다고 할 수 있다. 비직교적인 시스템 직교성의 장점 -시스템의 컴포넌트들이 고도로 상호의존적인 경우, 특정 국지적 부분만 수정하는 방법이란 없다. “” 관련 없는 것들 간에 서로 영향이 없도록 하라. “” -컴포넌트들이 각기 격리(isolate)되어 있으면 어느 하나를 바꿀 때 나머지 것들을 걱정하지 않아도 된다.해당 컴포넌트의 외부 인터페이스를 바꾸지 않는 한.. 2018. 9. 30.
반응형