https://exercism.org/tracks/dart/exercises/leap
처음에 문제가 이해되지 않아서(영어 해석이 안됬다...) 한참 헤매다가 테스트코드에 있는 조건들을 보고 문제를 풀었다.
그래서 내가 처음 냈던 답안은 아래와 같다.
class Leap {
bool leapYear(int year) {
return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
}
}
문제를 풀면서 팀원과 계속 코드리뷰를 진행하고 있는데,
가독성이 좋고 수정하기 좋은 코드가 무엇일지에 대해 얘기를 나눴다.
팀원이 짠 코드는 아래와 같은 형태였다.
분명 코드는 더 길어지지만 조건이 한 줄에 여러 개 들어가는 것보다(심지어 ()와 &&와 ||가 모두 들어가는 복잡한 상황)
이렇게 나눠주는게 코드를 이해하기에는 더 좋은 것 같다.
class Leap {
bool leapYear(int year) {
if (year % 4 == 0 && year % 100 != 0) {
return true;
}
if (year % 4 == 0 && year % 400 == 0) {
return true;
}
return false;
}
}
특히 조건이 변경되서 수정을 해야하는 상황이라면 이렇게 각 조건이 나눠져 있는게 훨씬 좋을 수 있다!
'Language > Dart' 카테고리의 다른 글
[Style] no_leading_underscores_for_local_identifiers (0) | 2022.08.19 |
---|---|
[Exercism] Armstrong Numbers #num #math (0) | 2022.08.19 |
[Exercism] Scrabble Score #가독성 있는 코드란?2 (0) | 2022.08.18 |
[Exercism] Two Fer #Optional positional parameters (0) | 2022.08.18 |
Dart 공부하기 (0) | 2022.08.18 |