본문 바로가기
개발자 준비/개발 공부

생산성 향상을 위한 나만의 개발 프로세스 만들어보기

by osul_world 2022. 11. 22.
728x90

요구사항 추적

  1. 큰 맥락의 필요 기능과 예외상황을 기술한 기능 목록을 작성한다
  2. 이때, 놓치기 쉬운 요구사항들은 주의 사항 리스트로 별도로 만들어둔다
  3. 기능 목록에서 객체를 도출하고 도출한 객체를 가장 작은 개념까지 최대한 쪼개본다 ex) Lottos → Lotto → LottoNumber
  4. 기능 목록에서 메세지를 도출하고 도출한 메세지의 송수신 객체를 찾아본다 ex) Lottos → “로또를 생성하라” → Lotto
  5. 위를 기반으로 메세지 흐름이 보이도록 다이어그램을 그려본다
    1. 이때, 자세한 메서드 명이나 타입은 포함하지 않으며 어떤 형식의 결과를 반환할지만 명시한다 ex) List<String> x , 다리 정보를 리스트로 반환 o
  6. 검토하며 필요한 부분에 객체나 메세지를 재배치한다, 책임 분배를 의미하는 것이다
  7. 설계로 넘어간다

 

 

💡 *모든 기능을 한번에 설계하고 구현하는게 아니라, 구현해야하는 기능 목록에서 하나씩 점진적으로 설계 및 구현 후 커밋한다

 

설계

  1. 위 다이어그램과 기능 목록을 참고해 메인 로직을 설계한다
    1. 이때, 결과 예시 양식이나 조건을 제대로 반영하는지 재차 검토한다
  2. 메인 로직을 구성하는 기능들을 설계한다
    1. 메서드 이름과 반환 타입들을 결정한다
  3. 구현으로 넘어간다

 

구현

  1. 정리한 내용을 참고해 핵심 기능을 구현한다
  2. 예외를 잘 고려하여 테스트를 성공시킨다
  3. 리펙토링 한다
  4. 버전관리로 넘어간다

 

버전관리

  1. 커밋 한다
  2. origin push는 최대한 신중하게 진행한다

 

유지보수

  1. 버그 및 수정이 필요한 부분을 찾아 개선한다
  2. 버전관리로 넘어간다
728x90