코스 1주차 후기


 

1. 과제 정의

 과제는 전반적으로 단순했지만, 예외 처리에 많은 신경을 써야하는 문제처럼 느꼈다.
1주차 과제의 주된 목적은 개발 환경과 언어에 익숙해지는 것이었기 때문에 비교적 간단한 과제가 주어진 것 같다.

 

 

2. 구현 과정

  1. 입력 (Reader)
    • 사용자의 입력을 받는 기능으로, 데이터를 처리하기 위한 첫 단계.
  2. 입력 검증 (Validation)
    • 입력된 데이터가 올바른 형식인지 확인하고, 잘못된 입력에 대해 예외를 처리하는 과정.
  3. 문자열 분할 (Split)
    • 입력된 문자열을 필요에 따라 분할하여 계산을 위한 준비 단계.
  4. 계산 (Calculate)
    • 분할된 데이터를 기반으로 원하는 계산을 수행하는 핵심 로직.
  5. 출력 (Print)
    • 계산 결과를 출력하는 단계.

 절차지향적 구조에서 각 기능별로 테스트 코드를 짜고 구현하고, 테스트 코드를 짜고 구현하고..를 반복하는 작업으로 수행하였다. 기능별 책임을 명확하게 나누어 가독성을 개선하기 위해 노력하였다.

 

 

3. 피드백 정리

제출 후 받은 피드백과 다른 사람의 코드를 참고하면서 앞으로 개선해야할 항목들을 정리하였다. 다음 주차에 다음의 내용이 반영되도록 노력해야 겠다.

 

3.1) 개인 피드백

1. 예외처리 나누기

 예외 처리를 각 케이스별로 세분화하여 어디가 무엇이 틀렸는지 구체적으로 알릴 필요가 있다. 예를 들어, 입력 예외에서도 왜 어떤 부분이 잘못되었는지 케이스별로 나누어서 알릴필요가 있다.

 

2. 패키지별로 정리

 각 기능을 역할에 따라 패키지로 나누어 코드 구조를 체계적으로 정리해야 한다. 예를 들어, 입력 관련 클래스는 input 패키지, 계산 관련 클래스는 calculation 패키지에 배치해서 다른 사람이 프로젝트 구조를 빨리 파악할 수 있게 정리할 필요가 있다.(간단한 문제라도 대부분 연습용으로 그렇게 하는 것 같다)

 

3. 상수 처리

 반복적으로 사용되는 값은 상수화하기, 하드코딩 주의

 

4. 커밋 메시지 구체적 작성

 커밋 메시지는 변경 사항을 명확히 설명하도록 구체적으로 작성해야 한다. 제목 뿐만 아니라 body내용에도 어떤 부분을 고려하여 작성했는지를 구체적으로 쉽게 설명해야 한다. 그래야 리뷰 시에 다른 사람이 참고할만한 자료가 된다.

 

5. 리뷰 편의성 고려

 리뷰어가 코드를 쉽게 이해할 수 있도록 그래프나 차트를 첨부해 설명을 보충하는 것도 하나의 방법이다. 단순히 코드만 던져주고 리뷰해줘! 라고하면 좀 보기 힘들 듯. 다른 사람의 코드를 보는데 설명에 힘을 준(?) 쪽이 리뷰하기가 편했던 것 같다.

 

6. 가장 중요한 것 - 문서화

 결국 문서화! 구체적이면서 쉽게 작성

 

 

3.2) 공통 피드백

고맙게도 매주 미션이 끝날 때 마다 공통 피드백을 전달해 준다.

정리해보면

 

1. 깃을 통한 형상 관리 방법들 -> 커밋 메시지 의미 있게 작성, 깃으로 관리할 필요가 있는가 없는가 판단

2. 네이밍 의미있게 적기, 축약 하지 말기

3. 공백도 컨벤션이다, 코드 포매팅을 사용해라

4. Java에서 기본적으로 제공하는 기능들(예를들면 collection)을 활용하여 가독성 좋게 짜라

 

 

+ 추가 사항

들어보니 프리코스에서는 객체지향적인 사고를 중요시 여기는 것 같다. 내가 아는 부분과 추가적으로 공부해야하는 부분을 파악해서 적용하는 연습을 해야겠다.

 

'컴퓨터 > 기타' 카테고리의 다른 글

코스 4주차 후기  (1) 2024.11.18
코스 3주차 후기  (0) 2024.11.06
코스 2주차 후기  (0) 2024.10.28
Database - 데이터베이스 정규화  (0) 2024.04.18