Skip to content

CRUD 코드 생성 템플릿의 하드코딩 주석 엔티티명 변수화 (Render entity names in CRUD comments) - #136

Merged
swanpark8538 merged 1 commit into
eGovFramework:mainfrom
EricSeokgon:agent/crud-entity-comments
Aug 3, 2026
Merged

CRUD 코드 생성 템플릿의 하드코딩 주석 엔티티명 변수화 (Render entity names in CRUD comments)#136
swanpark8538 merged 1 commit into
eGovFramework:mainfrom
EricSeokgon:agent/crud-entity-comments

Conversation

@EricSeokgon

Copy link
Copy Markdown
Contributor

수정 사유 Reason for modification

  • 버그수정 Bug fixes
  • 기능개선 Enhancements
  • 기능추가 Adding features
  • 기타 Others

수정된 소스 내용 Modified source

#135에서 기여 정본으로 확인된 egovframework.dev.imp.codegen.template.templates의 CRUD 생성 주석을 수정합니다.

활성 템플릿은 선택한 엔티티와 관계없이 "글을 등록한다"와 같은 고정 주석을 생성합니다. 전수 확인 결과 5개 템플릿에 38곳이 있습니다.

  • Service: 9
  • ServiceImpl: 9
  • Mapper: 9
  • Controller: 8
  • JSP list: 3

38곳의 하드코딩된 "글"을 ${model.entity.name}으로 변경했습니다.

변경된 76개 diff 줄은 모두 주석입니다. Java 코드, SQL, 메서드 시그니처, Velocity 제어 흐름, JSP 동작은 변경하지 않았습니다.

JUnit 테스트 JUnit tests

  • JUnit 테스트 JUnit tests
  • 수동 테스트 Manual testing

검증 결과 Validation results

  • git diff --check 통과
  • 활성 CRUD 템플릿의 하드코딩된 0건 확인
  • 추가·삭제된 76줄이 모두 주석임을 확인
  • PK가 있는 NOTICE_BOARD와 PK가 없는 MEMBER 모델로 5개 템플릿 렌더
  • Velocity JUnit: 1 test, 0 failures, 0 errors
  • 검증 모듈 CI 등가 Maven package: BUILD SUCCESS

Controller 소스에는 치환이 8곳 있지만 PK 유무에 따른 두 @param 주석이 상호 배타적이므로 각 렌더 결과에는 엔티티명이 7곳 나타납니다.

Windows/Temurin JDK 17에서 CI 등가 Maven package는 성공했지만 레거시 검증 모듈에서 MS949 플랫폼 인코딩 진단이 출력됐습니다. 이 PR은 해당 모듈의 Java 소스를 변경하지 않으며, 별도 Velocity 렌더 assertion은 통과했습니다.

테스트 브라우저 Test Browser

  • Chrome
  • Firefox
  • Edge
  • Safari
  • Opera
  • Internet Explorer
  • 기타 Others — 브라우저 UI 변경 없음; Velocity 렌더 테스트로 검증

테스트 스크린샷 또는 캡처 영상 Test screenshots or captured video

주석 전용 템플릿 변경으로 UI 스크린샷은 해당하지 않습니다. 위 렌더 테스트와 diff 불변 검증 결과를 첨부했습니다.

@EricSeokgon

Copy link
Copy Markdown
Contributor Author

검증 근거 보강 (독립 재현)

이 PR의 변경을 별도 환경에서 다시 검증했습니다.

1) 변경 성격

  • git diff main...b834aa9 — 5파일 +38/−38
  • diff의 +/- 라인 중 *·/*·//로 시작하지 않는 라인 0건 (주석 외 변경 없음)

2) Velocity 2.3 렌더 스모크 (수정 전/후 동일 컨텍스트 렌더 후 생성물 diff)

  • 엔티티 2종: 회원/Member(PK 있음), 부서코드/DeptCode(PK 없음 — Controller의 #if(${model.primaryKeys} == []) 분기까지 커버)
  • 템플릿 5종(java 4 + jsp 1) 렌더 성공 5/5, 실패 0
  • 생성물 diff: 엔티티별 74라인 변경, 주석 외 diff 0
  • 미치환 ${...} 잔여 개수: 수정 전 11 = 수정 후 11 (모두 JSP EL 표현식으로 동일)
  • 렌더 예: * 글을 등록한다.* 회원을 등록한다. / /* 글 수정 화면 function *//* 회원 수정 화면 function */

3) 중복 PR 정리

같은 취지로 제가 별도 제출했던 #137(java 4파일 24곳)은 이 PR의 부분집합이라 닫았습니다. 이 PR로 일원화합니다. 리뷰 부담을 드려 죄송합니다.

4) 알려진 한계

조사는 옛 정본 표기(…을 등록한다)를 그대로 따르고 있어 엔티티명이 모음으로 끝나면 부서코드을처럼 어색해집니다. 이번 범위는 "하드코딩된 글 → 엔티티명 복원"으로 한정했고, 을(를) 표기 개선이 필요하시면 후속 PR로 처리하겠습니다.

Refs #135

@EricSeokgon
EricSeokgon marked this pull request as ready for review July 31, 2026 01:13
@EricSeokgon EricSeokgon changed the title fix: render entity names in CRUD comments CRUD 코드 생성 템플릿의 하드코딩 주석 엔티티명 변수화 (Render entity names in CRUD comments) Jul 31, 2026
@swanpark8538

This comment was marked as duplicate.

swanpark8538

This comment was marked as resolved.

@swanpark8538 swanpark8538 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'글'로 하드코딩 되어 있는 부분을 수정해 주신 것을 확인했습니다.

'을(를)' 표기 개선은 중요한 문제가 아니므로
현재 상태 그대로 Merge 하겠습니다.

전자정부 표준프레임워크에 기여해 주셔서 감사합니다.

@swanpark8538
swanpark8538 merged commit 77d8649 into eGovFramework:main Aug 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants