inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Thực hành phát triển của Gemini - Backend E-commerce Legacy và Ứng dụng AI

Danh sách sản phẩm - Cảm nhận dòng code

상수에 관련해서 질문있습니다.

Đã giải quyết

38

hahahl

19 câu hỏi đã được viết

1

요구 사항이 자주 변경되는 것을 가정하는 프로젝트인 만큼 isUnique에 관련된 상수나 Recent day에 관한 상수를 properties로 빼서 yml에 관리하는 방식으로 구현해보았는데. 실무에서는 어떤 경우에 yml에서 관리하는 방식을 고려하고 어느 상황에 그냥 상수를 코드에 남기는지 궁금합니다.

spring-boot 도메인 dbms/rdbms backend 인공지능(ai)

Câu trả lời 2

1

geminikims

안녕하세요 질문 감사드립니다!

저 같은 경우는 직관성이 높은 것을 선호해 대부분 경우 상수를 코드안에 넣는 것을 선호합니다!
다만 환경상의 조건 또는 로직 변경 없이 수정되어야하는 상황 등 외부에서 다르게 설정해야하는 값 일 경우 환경 변수로 추출하여 관리하는 편 인 것 같습니다!

비즈니스 로직적인 부분이라면 가급적 상수로 처리하여 코드와 일체하여 보는 것을 선호하는 것 같습니다
프로퍼티로 빼게 되면 어쨋든 런타임 시점에 주입이 되기 때문에 그 부분을 참고해야하니까요!


모쪼록 답이 되었길 바랍니다! 감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. hahahl님.

소프트웨어 개발에서는 코드의 변화 가능성을 관리하는 것이 중요합니다. 특히, 요구 사항이 자주 변경되는 경우에는 상수나 설정값을 어떻게 관리할지에 대한 전략이 필요합니다. 이를 기반으로 yml 파일 등 외부 설정 파일을 사용할지, 코드 내에서 직접 관리할지에 대한 고려가 필요합니다.

yml 파일에서 관리하는 경우

  • 빈번한 변화 예상 시: 요구 사항이 자주 변할 것으로 예상되는 설정값은 외부 파일(yml)에서 관리하는 것이 좋습니다. 이렇게 하면, 코드 수정 없이 환경 설정을 변경할 수 있어 유지보수가 용이합니다.
  • 환경에 따른 변동: 운영, 개발, 테스트 등 환경에 따라 설정값이 달라져야 하는 경우 yml 파일을 사용하는 것이 적합합니다.

코드 내에서 상수로 관리하는 경우

  • 변화 가능성이 낮은 경우: 잘 바뀌지 않을 것으로 예상되는 값은 코드 내 상수로 정의하는 것이 관리 비용을 줄일 수 있습니다.
  • 코드의 일관성 필요: 코드의 특정 로직에 직결되어 있어 값의 변경이 해당 로직의 변경을 요구하는 경우에는 코드 내에 두는 것이 더 적합할 수 있습니다.

이번 주제와 비슷한 사례에 대한 토의를 참고하시면 좋을 것 같습니다. 관련된 질문과 답변들은 다음에서 확인하실 수 있습니다:
- 도메인 객체와 엔티티 객체 사용
- enum 에 도메인 로직이 들어가도 될까요?

위 링크를 통해 어떻게 하는 것이 프로젝트에 더 적합할지 판단하는 데 도움이 되기를 바랍니다. 질문 내용이 제 답변에 충분히 반영되지 못했거나 추가로 궁금하신 사항이 있다면 언제든지 문의해주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

카드 뉴스 만들기..

0

9

0

기존 mcp를 플러그인으로 대체

0

10

1

바이브코딩을 하는 개발자(작업복잡도 판단의 어려움)

0

12

1

커서에서 클로드 코드 실행했는데 쉬프트 +엔터가 안먹히는데요.

0

8

1

claw code 에 대해서는 어떻게 생각하시나요?!

0

17

1

비개발자용 리서치나 논문검색 프로젝트 요청

0

13

1

커밋 명령에 대한 플랜모드 미적용

0

18

2

prd.md 관련

0

18

3

하네스 강의 관련

0

30

2

시니어 리뷰 모드

0

20

1

갑자기 크루드가 실행이 안됩니다.

0

27

2

ProductOption을 통한 FindProductOption에 관한 질문

1

39

2

null 을 많이 허용하지 않는 이유

1

50

1

JetBrains All Products Pack 3개월 이용권 신청 관련 문의

1

89

2

소스코드 보안

1

236

2

AI 사용 방법에 대하여...

1

118

2

PaymentValidator와 PaymentProcessor에서 주문과 결제를 중복 조회하는 구조에 대한 질문이 있습니다 !

1

62

3

결제 개념 컴포넌트 분리 기준과 네이밍 전략에 대한 질문있습니다 !

1

76

3

AI 를 적용시 브랜치를 다루는 팁 같은게 있을까요?

1

109

2

사용자가 상품을 선택하고 쿠폰을 고를 때 가장 혜택이 큰 쿠폰을 고르는 상황

1

101

2

장바구니 아이템 가격 기준?

1

106

2

인텔리제이에서 legacy 프로젝트 그레이들 인식 불가

1

136

4

예약 변경 시 '과거 정책 기준 재계산' 요구사항에 따른 스냅샷 데이터 구조 설계 고민

1

130

2

선생님

1

159

1