Matcher m = Pattern.compile("//(.)\n(.*)").matcher(o);
Pattern 객체를 반복해서 생성하는 것은 굉장히 비용이 큰 작업입니다.
재사용한다면 어떠한 장점이 있을지 고민해보아요.
충분한 고민 후 이펙티브 자바 아이템 6. 불필요한 객체 생성을 피하라를 참고해주세요!
Matcher 부분을 static으로 만들어 한번만 생성하도록 구현하는 것이 더욱 좋을 것 같습니다!
- private static int sumStringAry(String[] stringAry) {
+ private static int sumStringArray(String[] stringArray) {
개인적으로 축약하여 적는 것은 가독성이 떨어진다고 생각하는데 재영님의 생각은 어떠신가요!
저도 축약하여 적으면 가독성이 떨어진다고 생각합니다!
확인 감사합니다!!
private static void validIntegerValueCheck(int i) {
if (i < 0) {
throw new UserCustomException("입력 값은 0보다 커야 합니다.");
}
}
private static boolean validInputCheck(String o) {
if (o == null || o.isEmpty()) {
return false;
}
return true;
}
두 메서드 모두 valid-라는 네이밍을 가지고 있는데요
위 메서드는 응답을 void로 처리하여 내부에서 예외처리를 하고, 아래 매서드는 boolean값으로 응답하고 있네요
메서드를 설계할 때 어떠한 규칙으로 설계하시는지 알 수 있을까요!?
네이밍이라는 것 자체가 굉장히 방대하기 때문에 상황에 따라 규칙이 바뀔 수 있다라고 생각이 드네요.
메서드를 만드는 네이밍에도 신경을 쓰도록 하겠습니다.
boolean 값을 응답하는 경우 is-와 같은 네이밍을 사용하도록 하려고 합니다.
관련 내용에 대해 Clean Code 책을 읽어 보도록 하겠습니다.
네이밍을 통해 메서드 자체가 하는 역할을 잘 나타낼 수 있는가?를 나타내는 것과 일관된 규칙을 가지도록 네이밍을 하였는가? 를 생각하면서 만들도록 하겠습니다.
감사합니다.
'강의 > TDD, Clean Code with Java 12기' 카테고리의 다른 글
[로또] step2 - 로또(자동) - 피드백 반영(20일차) (0) | 2021.08.08 |
---|---|
[로또] step2 - 로또(자동) - 피드백 (20일차) (0) | 2021.08.08 |
[로또] step2 - 로또(자동) (18일차) (0) | 2021.08.06 |
[로또] step2 - 로또(자동) (17일차) (0) | 2021.08.05 |
[로또] step1 - 문자열 덧셈 계산기 (15일 차) (0) | 2021.08.03 |