-
Notifications
You must be signed in to change notification settings - Fork 6
백엔드 코드 스타일 가이드
yeonLog edited this page Jul 6, 2022
·
2 revisions
public Carts(final long customerId, final List<Cart> carts) {
this.customerId = customerId;
this.carts = carts;
}
- 매개변수에는
final
선언을 사용합니다
public class SpringCartService implements CartService {
public void add(final long customerId, final long productId) {
Product product = productService.findById(productId);
Cart cart = new Cart(null, customerId, product, DEFAULT_QUANTITY);
Carts carts = cartRepository.findCartsByCustomerId(customerId);
carts.addCart(cart);
cartRepository.saveCarts(carts);
}
}
- 클래스 선언, 메서드 내부에서는 final 선언을 사용하지 않습니다.
@Test
void 장바구니_목록_조회() {
// given
장바구니_아이템_추가되어_있음(USER, productId1);
장바구니_아이템_추가되어_있음(USER, productId2);
// when
ExtractableResponse<Response> response = 장바구니_아이템_목록_조회_요청(USER);
// then
장바구니_아이템_목록_응답됨(response);
장바구니_아이템_목록_포함됨(response, productId1, productId2);
}
- DisplayName 애너테이션을 사용하지 않아요
- 테스트 메서드명은 한글로 작성해요
- private 메서드명도 한글을 사용해요
-
@DisplayNameGeneration
와@SuppressWarnings
을 활용해요-
@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
: '_'를 ' '로 변환시켜 보여준다. -
@SuppressWarnings("NonAsciiCharacters")
: 메서드명, 변수명을 한글로 지정해도 warning을 무시한다.
-
@DisplayName("아이디로 지하철 노선을 조회할 수 있다")
@Test
void findById() {
// given
Line line = lineService.save(LINE_FIXTURE);
// when
Line found = lineService.findById(line.getId());
// then
assertThat(line).isEqualTo(found);
}
- DisplayName 애너테이션을 사용해요
- 테스트 메서드명, private 메서드명 모두 영어를 사용해요