Skip to content

docs: isMoreThan2CharTypeComb 의 javadoc 특수문자 표기가 실제 상수와 다른 문제 수정 - #366

Open
wantaekchoi wants to merge 1 commit into
eGovFramework:mainfrom
wantaekchoi:fix/rtegenericvalidator-javadoc
Open

docs: isMoreThan2CharTypeComb 의 javadoc 특수문자 표기가 실제 상수와 다른 문제 수정#366
wantaekchoi wants to merge 1 commit into
eGovFramework:mainfrom
wantaekchoi:fix/rtegenericvalidator-javadoc

Conversation

@wantaekchoi

Copy link
Copy Markdown
Contributor

수정 사유 Reason for modification

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

수정된 소스 내용 Modified source

RteGenericValidator.isMoreThan2CharTypeComb 의 javadoc 이 적는 특수문자 집합이 이 메서드가 실제로 쓰는 상수와 다릅니다.

$ grep -n 'ALLOWED_SPECIAL_CHAR =\|패스워드 점검 : 최소' RteGenericValidator.java
58:    private static final String ALLOWED_SPECIAL_CHAR = "~!@#$%^&*?";
207:     * 패스워드 점검 : 최소 3가지 조합. 영문자, 숫자, 특수문자 $@$!%*#?& 필수
220:     * 패스워드 점검 : 최소 4가지 조합. 영문 대문자, 영문 소문자, 숫자, 특수문자 ~!@#$%^&*? 필수

207줄이 설명하는 isMoreThan2CharTypeComb(212줄)는 58줄 상수로 만든 패턴 하나로 판정합니다.

private static final Pattern MORE_THAN_2_TYPE_PATTERN =
        Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)(?=.*[" + ALLOWED_SPECIAL_CHAR + "])[A-Za-z\\d" + ALLOWED_SPECIAL_CHAR + "]+$");

상수와 대조하면 ~^ 이 문서에서 빠져 있고 $ 는 두 번 적혀 있습니다.

220줄은 같은 상수로 패턴을 만드는 형제 isMoreThan3CharTypeComb(225줄)의 javadoc 이고, 이쪽은 이미 상수와 같은 표기입니다. 207줄을 여기에 맞춰 두 설명을 같게 했습니다.

AS-IS / TO-BE

--- a/.../ptl/mvc/validation/RteGenericValidator.java
-     * 패스워드 점검 : 최소 3가지 조합. 영문자, 숫자, 특수문자 $@$!%*#?& 필수
+     * 패스워드 점검 : 최소 3가지 조합. 영문자, 숫자, 특수문자 ~!@#$%^&*? 필수

영향 범위

주석 한 줄입니다. ALLOWED_SPECIAL_CHAR 와 두 Pattern, 메서드 본문이 그대로여서 검증 동작은 바뀌지 않습니다.

반대로 구현을 기존 문서 표기에 맞추면 문자클래스가 좁아져 지금 통과하는 패스워드가 거부되고, 두 메서드가 상수 하나를 공유하는 구조도 깨집니다. 그래서 문서 쪽을 고쳤습니다.

$@$!%*#?& 는 저장소 전체에서 이 한 줄뿐이라 다른 곳에 남는 표기가 없습니다.

$ git grep -c -F '$@$!%*#?&' origin/main
Presentation/.../ptl/mvc/validation/RteGenericValidator.java:1

$ git grep -c -F '$@$!%*#?&'
(없음)

JUnit 테스트 JUnit tests

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

문서 문자열이라 단위 테스트로 세울 수 있는 동작이 없습니다. 문서를 실제로 생성해 보고, 모듈 테스트에 회귀가 없는 것을 확인했습니다.

$ mvn -o javadoc:javadoc -pl Presentation/org.egovframe.rte.ptl.mvc
[INFO] BUILD SUCCESS

문서 생성 경고는 수정 전과 같은 8건으로, 이 줄 때문에 늘거나 줄지 않습니다.

$ mvn -o test -pl Presentation/org.egovframe.rte.ptl.mvc
[INFO] Tests run: 42, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS

테스트 브라우저 Test Browser

  • Chrome
  • Firefox
  • Edge
  • Safari
  • Opera
  • Internet Explorer
  • 기타 Others

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

화면이 없는 실행환경 모듈이라 첨부하지 않았습니다.

javadoc 은 특수문자를 "$@$!%*#?&" 로 적지만 이 메서드가 쓰는 패턴은 상수
ALLOWED_SPECIAL_CHAR = "~!@#$%^&*?" 로 만들어진다. ~ 와 ^ 이 빠져 있고 $ 는
두 번 적혀 있다.

같은 상수를 쓰는 형제 메서드 isMoreThan3CharTypeComb 의 javadoc 은 이미
"~!@#$%^&*?" 다. 표기를 상수에 맞춰 둘을 같게 했고 검증 동작은 바뀌지 않는다.
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.

1 participant