Readable Code (1) : 읽기 좋은 코드를 작성하는 사고법 (Day2)
2개월 전
추상
강사님이 최대한 더럽고 시간 복잡도가 높은 최악의 코드를 골라오셨고, 우리는 이번 시간을 통해 이 코드를 읽기 좋은 코드로 거듭나기 위한 순서를 따라갔다.
1. 직관적으로 변수이름을 바꾸기를 실행하자.
예를 들어, for loop에서 단순히 i, j로 두던 것을 row, col로 바꾸는 등의 refactoring을 진행했다.
Refactoring Variable
# for (int i = 0; i < 8; i++) {
# for (int j = 0; j < 10; j++) {
# board[i][j] = "□";
# }
# }
//수정 사항: 변수 이름 직관적으로 짓기
for (int row = 0; row < 8; row++) {
for (int col = 0; col < 10; col++) {
board[row][col] = "□";
}
}
2. 잘 쓰여진 메서드는 주제가 하나다.
한 가지를 실행하는데 집중한다. 코드를 읽고 이 메서드가 하는 일이 여러 개라면 작은 메서드로 나누는 게 좋다.
기본적이지만 처음엔 어려웠던 부분인데 다시 짚고 넘어가봐서 좋았다.
3. 메서드 선언부
- void 대신 충분히 반환할 값이 있는지 고민해보는 습관을 가지자. 반환값이 있다면 테스트도 용이해진다. 물론 void가 더 깔끔한 순간도 많으나, 한번쯤 고민해보자.
- 구체화된 타입을 반환받는다.
- 의미가 명확한 변수 이름을 사용한다.
_사용하는 입장에서도 더 편하게 쓸 수 있고, 후손 개발자 입장에서도 어떤 것을 넣어야하는 변수인지 알기 쉽다._
4. 추상화 레벨
method를 추출한다는 것 자체가 외부 세계와 내부 세계의 경계를 만든다는 뜻이다. 하나의 세계 안에서는 추상화 레벨이 동등해야 한다.
추상화 레벨이 맞지 않아 일어나는 문제가 꽤나 잘 들어난다.
추상화 레벨이 맞지 않는 상황이 나타나면 클린코드라 하기 어렵다.
자세한 사항은 개인 블로그에 기재하였습니다.
댓글을 작성해보세요.