Skip to content

refactor: Foundation 지역 StringBuffer를 StringBuilder로 변경 (불필요한 동기화 제거)#271

Open
EricSeokgon wants to merge 3 commits into
eGovFramework:mainfrom
EricSeokgon:refactor-local-stringbuilder
Open

refactor: Foundation 지역 StringBuffer를 StringBuilder로 변경 (불필요한 동기화 제거)#271
EricSeokgon wants to merge 3 commits into
eGovFramework:mainfrom
EricSeokgon:refactor-local-stringbuilder

Conversation

@EricSeokgon

Copy link
Copy Markdown

수정 사유

단일 스레드 메서드 내부에서만 사용하는 문자열 버퍼에 동기화 비용이 있는 StringBuffer 대신 StringBuilder를 사용하도록 변경했습니다. 정적분석 도구가 권장하는 개선(PMD AvoidStringBufferField 계열, SonarQube java:S1149)이며, egovframe-common-components에 제출한 동일 계열 PR(eGovFramework/egovframe-common-components#1138, #1139)의 실행환경(Foundation) 버전입니다.

수정 내용

파일 변경
fdl.filehandling/.../EgovFileUtil.java readFile 지역 변수 1곳, listChildren(private) 반환형·지역 변수 2곳
fdl.string/.../EgovStringUtil.java reverse의 지역 표현식 1곳
fdl.idgnr/.../EgovIdGnrStrategyImpl.java 지역 변수 1곳
  • public API는 변경하지 않았습니다. 같은 파일의 EgovFileUtil.readTextFile은 반환형이 StringBuffer인 공개 메서드라 호환성을 위해 의도적으로 제외했습니다.
  • listChildren은 private 메서드로 클래스 외부에 노출되지 않으며, 호출부는 LOGGER.debug의 인자(CharSequence)라 동작이 동일합니다.

테스트 여부

  • 변경된 3개 모듈(fdl.string, fdl.idgnr, fdl.filehandling) 로컬 mvn compile 통과 (JDK 17)
  • 모든 대상이 메서드 지역 범위임을 확인 (필드·공개 반환형·파라미터 아님)

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