교육 및 인강/이규원의 현실 세상의 TDD

이규원님의 현실 세상의 TDD 깊은 곳, 1편 : 인터페이스와 구현

loop-study 2021. 5. 19. 13:14

테스트 주도 개발의 깊은 곳 1편이다.

언급되는 내용에 내 생각도 덧붙이는거라

📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍 

 

The RED : 이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 | 패스트캠퍼스

그동안 우리나라에는 TDD를 제대로 다루는 책도 강의도 없었죠. 그래서 제가 개발 현장에서 활용하는 TDD를 정확하게 알려드리고자 강의를 만들었습니다. 이제 TDD에 대한 잘못된 인식은 버리고, '

fastcampus.co.kr


추상화

MIT 교수 John Vogel Guttag에 따르면 추상화는 주어진 맥락에 관련된 정보들을 남기고 동시에 주어진 맥락과 관련 없는 정보들을 잊어버리는 과정이다.

-> 개발을 하다보면 추상화에 대한 많은 이야기를 접할 수 있다. 객체지향에 대한 책들도 위와 같이 비슷하게 정의한다. 

 

 

협력과 계약

- 대부분의 코드는 다른 코드와 협력

- 협력에 필요한 것은 '어떻게'가 아닌 무엇

- 인터페이스 (추상화의 결과)

 

 

인터페이스에 프로그래밍

Erik Meijer "인터페이스를 대상으로 프로그래밍한다."

-> 흔히 개발을 하다보면 인터페이스를 많이 사용한다. 고객의 비즈니스를 이해하고 요구사항을 이해하면 설계가 나오는데 추상화로 인터페이스를 도출하다보면 인터페이스를 활용해 프로그래밍을 하게 된다.  

 

 

정보 숨김

효과적인 모듈화

- 조직 간 의사소통 최소화

- 변경 여파 최소화

- 시스템 이해 도움

 

공개된 설계 결정과 숨겨진 설계 결정

- 어려운 설계 결정과 변경될 것 같은 설계 결정을 숨겨라.

 


후 기

이번 내용은 평소보다 양이 적다.

하지만 그 어느 때보다 중요한 내용이다.

개발을 하려면 객체지향 개념이 중요하기에 

이번 시간은 객체지향의 기본적인 특징에 대해서 설명해주셨다.