Written by coh at home

[프리코스 1주차 회고] 본문

Etc/Et cetera

[프리코스 1주차 회고]

och 2024. 10. 21. 17:48

프리코스를 진행하면서 4가지의 큰 고민이 있었습니다.

1. 한번만 사용되는 상수를 클래스 필드와 지역변수 중에 뭐로 해야할지에 대한 문제.

이것은 나중에 해당 상수가 또 쓰일 수도 있는 상황을 고려해서 밖으로 빼는 것을 선택했습니다.

 

2. 계산을 하는 객체에서의 책임의 범위.

계산기 객체는 총합을 계산하는 행동이 있습니다. 이를 위해 생성자에서 숫자들이 담긴 List객체를 주입받게 됩니다.

이때 해당 내용을 저장하기 전에 유효한지를(양수인지) 검증하게 됩니다. 여기서 고민이 생겼습니다. 입력값인 문자열을 검증하는 로직을 CalculatorService가 맡고 있었는데 '도메인 값의 검증을 이 친구가 맡아도 되지 않을까? 그렇다면 해당 객체의 책임을 어디까지 맡겨야하지?' 라는 고민이 생겼습니다.

계산기 객체는 자신이 가진 숫자를 검증하도록 했고 서비스객체에서는 문자열을 온전히 검증해서 넘겨주는 것까지 책임을 두었습니다.

 

3. 예외케이스 생각

-합이 2147483647을 넘기지 않는 int 범위의 계산기를 고려했습니다.

-Double의 경우 정밀도 손상이 있을 수 있다고 판단하여 정수인 양수로 제한했습니다.

- 숫자가 아닐 때, 양수가 아닐 때를 고려했습니다.

 

4. 커밋의 단위를 어떻게 할지가 가장 큰 고민이었습니다.

기본적으론 기능을 구현하고 나서 커밋을 했습니다. 이후 코드를 cmd + L을 눌러서 정렬하면 변경사항이 발생하는데 이런 것도 바로 Style로 커밋을 남겨야할지 고민되었습니다.

또한 기능을 모두 구현하고 나서 test에 코드를 추가하며 예외케이스를 찾으며 테스트를 진행했는데 커뮤니티의 함께나누기를 통해 기능별로 test까지 마친 후 `feat`로 컨벤션을 지켜야한다는 사실을 알게 되었습니다. 다음주는 TDD를 학습해보고 적용하며 성장해야겠다고 생각했습니다..! 다음주에 또 성장할 생각을 하니 웃음이 나고 즐거운 것 같습니다.ㅎㅎ

 

 

'Etc > Et cetera' 카테고리의 다른 글

웹개발자에서 임베디드 개발자로..  (0) 2024.11.03
[프리코스 2주차]  (1) 2024.10.28
[특급전사] 수여뱃지  (0) 2024.10.02
[코딩노하우 뽐내기]  (0) 2024.05.27
java jdk downgrade(17 -> 11)  (0) 2023.10.03