Software Engineering Note

8장. 경계 본문

스터디/Clean Code

8장. 경계

devmoons 2014. 11. 25. 21:54

(이 장에서는 주로 외부 라이브러리나 패키지를 사용하는 방법을 다룬다.)


외부코드 사용하기


wrapping 클래스를 만들어 제한된 메소드만을 제공하여 악용할 소지를 없앤다.


Map과 같은 경계 인터페이스를 이용할 때는 이를 이용하는 클래스나 클래스 계열 밖으로 노출이 되지 않도록 주의한다. 

(clear() 같은 메소드로 날릴 수도 있다.)


Map 인스턴스를 공개 API의 인수로 넘기거나 반환 값으로 사용하지 않는다.



학습 테스트


외부코드를 이용할 때는 곧바로 우리쪽 코드에 반영해서 구현부터 하지말고 테스트부터 하자. (= 학습테스트)


학습 테스트에 드는 비용은 없다. 어쨌든 API를 배워야 한다. 


오히려 필요한 지식만 확보하는 손쉬운 방법이다. (이해도를 높여주는 정확한 실험)



아직 존재하지 않는 코드사용


두 팀에서 개발하고 있는데 한 쪽에서 다른 쪽이 개발한 API를 사용해야 하는경우.


인터페이스를 만들고 가짜 구현체를 먼저 만들어 사용할 수 있다. 또는 adapter 패턴을 이용할 수 있다.



외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자.


새로운 클래스로 경계를 감싸거나 adapter 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자.


'스터디 > Clean Code' 카테고리의 다른 글

10장. 클래스  (0) 2015.08.09
9장. 단위 테스트  (0) 2015.08.08
7장. 오류 처리  (0) 2014.11.25
6장 객체와 자료구조  (0) 2014.10.27
5장 형식 맞추기  (0) 2014.10.27