Compare commits
4 커밋
| 작성자 | SHA1 | 날짜 | |
|---|---|---|---|
| 6cd858908c | |||
| 71e64385ea | |||
| cb88d83f92 | |||
| 9f2789faee |
@ -44,21 +44,7 @@
|
||||
- `@Builder` 허용
|
||||
- `@Data` 사용 금지 (명시적으로 필요한 어노테이션만)
|
||||
- `@AllArgsConstructor` 단독 사용 금지 (`@Builder`와 함께 사용)
|
||||
|
||||
## 로깅
|
||||
- `@Slf4j` (Lombok) 로거 사용
|
||||
- SLF4J `{}` 플레이스홀더에 printf 포맷 사용 금지 (`{:.1f}`, `{:d}`, `{%s}` 등)
|
||||
- 숫자 포맷이 필요하면 `String.format()`으로 변환 후 전달
|
||||
```java
|
||||
// 잘못됨
|
||||
log.info("처리율: {:.1f}%", rate);
|
||||
// 올바름
|
||||
log.info("처리율: {}%", String.format("%.1f", rate));
|
||||
```
|
||||
- 예외 로깅 시 예외 객체는 마지막 인자로 전달 (플레이스홀더 불필요)
|
||||
```java
|
||||
log.error("처리 실패: {}", id, exception);
|
||||
```
|
||||
- `@Slf4j` 로거 사용
|
||||
|
||||
## 예외 처리
|
||||
- 비즈니스 예외는 커스텀 Exception 클래스 정의
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
||||
"env": {
|
||||
"CLAUDE_BOT_TOKEN": "ac15488ad66463bd5c4e3be1fa6dd5b2743813c5"
|
||||
},
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(./gradlew *)",
|
||||
|
||||
@ -20,10 +20,9 @@ fi
|
||||
# Conventional Commits 정규식
|
||||
# type(scope): subject
|
||||
# - type: feat|fix|docs|style|refactor|test|chore|ci|perf (필수)
|
||||
# - scope: 괄호 제외 모든 문자 허용 — 한/영/숫자/특수문자 (선택)
|
||||
# - subject: 1자 이상 (길이는 바이트 기반 별도 검증)
|
||||
PATTERN='^(feat|fix|docs|style|refactor|test|chore|ci|perf)(\([^)]+\))?: .+$'
|
||||
MAX_SUBJECT_BYTES=200 # UTF-8 한글(3byte) 허용: 72문자 ≈ 최대 216byte
|
||||
# - scope: 영문, 숫자, 한글, 점, 밑줄, 하이픈 허용 (선택)
|
||||
# - subject: 1~72자, 한/영 혼용 허용 (필수)
|
||||
PATTERN='^(feat|fix|docs|style|refactor|test|chore|ci|perf)(\([a-zA-Z0-9가-힣._-]+\))?: .{1,72}$'
|
||||
|
||||
FIRST_LINE=$(head -1 "$COMMIT_MSG_FILE")
|
||||
|
||||
@ -59,13 +58,3 @@ if ! echo "$FIRST_LINE" | grep -qE "$PATTERN"; then
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 길이 검증 (바이트 기반 — UTF-8 한글 허용)
|
||||
MSG_LEN=$(echo -n "$FIRST_LINE" | wc -c | tr -d ' ')
|
||||
if [ "$MSG_LEN" -gt "$MAX_SUBJECT_BYTES" ]; then
|
||||
echo ""
|
||||
echo " ✗ 커밋 메시지가 너무 깁니다 (${MSG_LEN}바이트, 최대 ${MAX_SUBJECT_BYTES})"
|
||||
echo " 현재 메시지: $FIRST_LINE"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@ -43,3 +43,14 @@ secrets/
|
||||
# === Claude Code (개인 설정) ===
|
||||
.claude/settings.local.json
|
||||
.claude/CLAUDE.local.md
|
||||
|
||||
# === Team workflow (managed by /sync-team-workflow) ===
|
||||
.claude/rules/
|
||||
.claude/agents/
|
||||
.claude/skills/push/
|
||||
.claude/skills/mr/
|
||||
.claude/skills/create-mr/
|
||||
.claude/skills/release/
|
||||
.claude/skills/version/
|
||||
.claude/skills/fix-issue/
|
||||
.claude/scripts/
|
||||
|
||||
@ -5,6 +5,6 @@
|
||||
# Nexus URL
|
||||
nexusUrl=https://nexus.gc-si.dev/repository
|
||||
|
||||
# Nexus 인증
|
||||
nexusUsername=admin
|
||||
nexusPassword=Gcsc!8932
|
||||
# Nexus 인증 (내부 라이브러리 배포 시 필요)
|
||||
# nexusUsername=your-username
|
||||
# nexusPassword=your-password
|
||||
|
||||
불러오는 중...
Reference in New Issue
Block a user