Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4주차 - TDD ∙ 기능 명세 ∙ 설계 - 김정호 #38

Closed
4 tasks done
hou27 opened this issue Jan 17, 2023 · 6 comments · Fixed by #28
Closed
4 tasks done

4주차 - TDD ∙ 기능 명세 ∙ 설계 - 김정호 #38

hou27 opened this issue Jan 17, 2023 · 6 comments · Fixed by #28
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@hou27
Copy link
Member

hou27 commented Jan 17, 2023

#37

⭐ Chapter 4. TDD ∙ 기능 명세 ∙ 설계

설계하고 정의하는 과정을 TDD와 함께 정리해본다.

  • 기능 명세, 설계 및 구체화 과정 이해하기
  • Chap 4의 내용을 개인 기술 블로그에 정리한 후 자신의 issue에 comment로 링크 남기기
  • 문제 만들고, Core Member에게 제출하기(스터디 전날까지 부탁드려요!)

  • 모든 과정을 마친 후 pull request 올리기
@hou27 hou27 added the documentation Improvements or additions to documentation label Jan 17, 2023
@hou27 hou27 self-assigned this Jan 17, 2023
@hou27 hou27 linked a pull request Jan 17, 2023 that will close this issue
@hou27
Copy link
Member Author

hou27 commented Jan 17, 2023

@hou27
Copy link
Member Author

hou27 commented Jan 17, 2023

설계는 기능 명세로부터 시작한다.

스토리보드 등 다양한 형태로 요구사항 문서를 이용해 기능 명세를 구체화하고,

구체화 과정에서 입력과 결과를 도출하고 코드에 반영한다. 이는 곧 기능에 대한 설계 과정과 연결된다.

@hou27
Copy link
Member Author

hou27 commented Jan 17, 2023

설계 과정은 TDD가 지원한다.

TDD는 테스트를 만드는 것에서 시작하는데,

클래스명, 메서드명, 메서드 파라미터, 실행 결과를 고민하며 테스트 코드를 작성하게 되며
이 과정을 곧 설계 과정이라고 할 수 있다.

@hou27
Copy link
Member Author

hou27 commented Jan 17, 2023

필요한 만큼만 설계하고 코드를 작성해야한다.

테스트를 통과할 만큼만 코드를 작성하게 되면,

현 시점에서 필요한 설계만 코드에 반영할 수 있게 되고 복잡해지는 것을 방지할 수 있다.

미리 앞서서 코드를 작성하지 않음으로써 예상치 못한 변수를 최대한 차단하고 불필요한 구성 요소를 덜어낼 수 있다.

@hou27
Copy link
Member Author

hou27 commented Jan 17, 2023

한번에 모든 것이 명확해질 순 없으므로

테스트 코드를 추가해 가면서 기능 명세를 더 잘 이해하고 모호함을 지워나가야한다.
이렇게 구체화해나간다.

예외적인 상황을 생각하고 복잡한 상황의 구체적 예시를 도출할 수 있어야 하는데,

이를 위한 대화는 언제나 주요한 역할을 한다.

@hou27
Copy link
Member Author

hou27 commented Jan 21, 2023

저장소 내 변경된 점이 없어서 pr 생략

@hou27 hou27 closed this as completed Jan 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant