Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

나는 왜 TDD에 집착하는가?

425 views

Published on

Test Driven Development에 집착하는 이유에 대해 설명한다.
TDD와 리팩토링을 삶에 적용하는 것에 대해서도 다룬다.

Published in: Software
  • Be the first to comment

나는 왜 TDD에 집착하는가?

  1. 1. 나는 왜 TDD에 집착하는가? 박재성﴾자바지기﴿
  2. 2. NEXT, 코드스쿼드 양다리 2018년 3월 백수
  3. 3. SLiPP﴾https://www.slipp.net﴿ 커뮤니티 운영
  4. 4. 나는 왜 TDD에 집착하는가? Test Driven Developmenet(이하 TDD)란?
  5. 5. Kent Beck(켄트 벡)
  6. 6. TDD란 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술이다. TDD의 아이러니 중 하나는 테스트 기술이 아니라는 점이다. TDD는 분석 기술이며, 설계 기술이기도 하다.
  7. 7. TDD = Test First Development + 리팩토링
  8. 8. TDD 라이브 코딩
  9. 9. 요구사항 쉼표﴾,﴿ 또는 콜론﴾:﴿을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환 null => 0, “” => 0, "1,2" => 3, "1,2,3" => 6, “1,2:3” => 6 ...
  10. 10. 나는 왜 TDD에 집착하는가?
  11. 11. 1. 나는 사람이다.
  12. 12. 세상에는 세 종류의 사람이 있다.
  13. 13. 요구사항 추가, 변경 때문에 소스 코드를 수정하고 불안감에 살고 싶 지 않다.
  14. 14. 사람답게 살고 싶다.
  15. 15. 2. 나는 평범하다.
  16. 16. 한 번에 한 가지만 집중할 수 있다.
  17. 17. Test Passes 로직을 구현하는 것에 집중 테스트를 통과하기 위해 어떠한 행위도 허용 심적으로 안정감을 얻을 수 있다. Refactoring 클래스 설계 클린 코드
  18. 18. 처음부터 완벽한 설계를 하는 것이 아니라 점진적으로 설계를 개선해 나갈 수 있다.
  19. 19. 3. 나는 프로그래밍을 좋아한다.
  20. 20. 학습 효율을 높일 수 있다. 내 자신에게 부끄럽지 않은 코드를 구현할 수 있다.
  21. 21. TDD, 리팩토링을 삶에 적용하기
  22. 22. 책쓰기 현재 상태에서 쓸 수 있는 내용 위주로 빠르게 chapter를 마무리 chapter를 마무리했으므로 심적인 안정감 chapter를 마무리 한 후 편집자에게 공유 피드백 1차 퇴고 2차 퇴고 ... 마음에 들 때까지 무한 루프
  23. 23. 회사 다니면서 창업 측정 가능한 가설 세움 실행을 통해 소비자에게 피드백 1차 개선 2차 개선 ... 목표 수익 달성까지 반복 개선 두 번째 상품 개발.. 반복 일정 목표를 달성하면 퇴사
  24. 24. TDD, 리팩토링의 핵심 큰 단위를 작은 단위로 나눠 지속적인 피드백을 통해 목표하고 개선 달성하기 힘들 것으로 생각하는 일에 도전할 수 있는 용기
  25. 25. 일반인과 성공하는 사람의 시각 차이
  26. 26. 커네빈 프레임워크 인과관계의 불확실성에 따라 문제 상황
  27. 27. Simple: 단순성 영역 모범 사례를 통해 문제 해결. 조립 설명서 Complicated: 난해성 영역 기존의 전문 지식을 활용해 문제 해결 가능 Complex: 복잡성 영역 새로운 해법을 제시하고 대응책을 모색 Chaotic: 혼돈 영역 불명확한 상태에서 살아남기 위한 방법을 찾아 대응
  28. 28. 앞으로 해결해야할 상당히 많은 문제는 명확하게 문제가 정의되어 있지 않거나, 분석할 데이터도 없기 때문에 기존의 접근 방식으로 해 결하기 힘든 Complex﴾복잡성﴿ 영역이다.
  29. 29. 끊임없이 작은 실패와 피드백을 통해 점진적으로 개선해 나가는 것 이 앞으로 남겨진 문제를 해결하는 좋은 방법이다.
  30. 30. 지금 필요한 것은 기존의 문제해결 접근방식에 도전할 수 있는 용기

×