리팩토링 검출 메시지 "Reorder the modifiers to comply with the Java Language Specification."Java class, method 선언 시 표현 순서 1. Annotations 2. 접근자 (public/protected/private) 3. abstract 4. static 5. final 6. transient 7. volatile 8. default 9. synchronized10. native11. strictfp 잘못된 예 : public synchronized static String replace(...} 변경 : public static synchronized String replace(...}참고 및 발췌8.1. Class Declara..
기존 코드 if(구글로그인){ // 로그인 처리}else if(인스타로그인){ // 로그인 처리}else if(페이스북로그인){ // 로그인 처리}else{ // 로그인 처리}문제점 새로운 추가가 발생할 때 마다 소스를 추가/변경해 주어야 한다.코드의 양이 커진다. 복잡도 증가한다. 가독성이 떨어진다. 부분 테스트 불가능하다. 리팩토링인터페이스를 생성하고 각각의 로그인 형태에 따라 클래스로 분리한다.flyweight pattern과 유사한 형태로 만든다. 각각의 클래스를 자료 구조에 담아 두고 꺼내 이용한다. 설계상에는 Factory를 별도로 만들지 않았습니다. Contorller123456789101112131415161718192021222324252627282930@RestController@Slf..
개발자 관점에서 필요한 프로젝트 문서프로젝트 산출물 관련 검색을 해보면 어마어마한 내용들이 쏟아 집니다. 사업관리, 개발관리, 비용관리, 인력관리, 리스트 관리 등등... 그런데 작은 회사에서 또 작은 프로젝트를 수행하는 경우 기획 문서 하나없이 사장님 지시로 시작될 때가 많습니다. 개발자 관점에서 프로젝트를 수행하는 데 꼭 필요한 문서들이 있습니다. 또 외주 업체로부터 프로젝트를 인수/인계 받는 경우 요청해야할 기본 문서들이 있습니다.프로젝트 문서 작업분석/설계 단계1. 기획 문서 기획 문서는 프로젝트 시작 전에 반드시 정의 해야할 사항을 작성합니다. 개발범위 및 전체 일정 : 무엇을 왜, 언제까지 개발해야 하는지 정의합니다. 개발 중에 수정 요청 또는 추가시 이를 기반으로 협의해야 합니다. 시스템 구..
코드가 복잡하다고 느끼는 건 언제일까요. 복잡한 코드의 일반적인 특징은 내용이 길고 또 if-else 구문과 for문이 여러번 중첩 되는 경우가 많습니다. 물론 구조적(상속, 복잡한 디자인패턴, 코드의 파편화 등)으로 복잡한 경우도 있지만 지금은 단순히 코드 그자체만 봤을 때입니다. 실무에서 조건문만 잘 정리해도 코드가 확 바뀌는걸 볼 수 있었습니다. 복잡한 조건문을 단순화하여 가독성을 향상시키는 작업을 하겠습니다. 혹시나 구글에 참고할 만한 글이 있나 찾아봤더니 좋은 글이 있어 참고합니다. 원본 링크 : https://wpshout.com/unconditionally-refactoring-nested-statements-cleaner-code/ 조건문의 스타일을 Bubble style과 Gateway ..
Use try-with-resources or close this "BufferedInputStream" in a "finally" clause.DB Connection, InputStream, file, URLConnection 등 Closeable 인터페이스를 구현 또는 상속받은 클래스는 반드시 finally에서 해당 자원을 close 해줘야만 합니다. 테스트 시점에는 아무 에러가 없었다 하더라도 시간이 지나서 아무런 이유없이 시스템이 다운되거나 하는 경우를 볼 수 있습니다. 개발자가 놓치기 쉬운 부분이지만 매우 중요한 부분입니다. 이런 부분은 반드시 수정해야만 합니다. 수정 전 12345678910111213141516171819202122232425262728 public void fileDown..
일단 뜨겁게 청소하라. "리팩토링이 뭔가요?" "일정이 너무 촉박해서 리팩토링할 시간이 없어요." "무엇을 리팩토링해야 할지 모르겠습니다" "어떻게 리팩토링해야 할지 모르겠습니다" 리팩토링은 개발자의 코딩 능력을 향상시키는 좋은 습관이며 훈련입니다. 이런 반복적인 훈련과 습관이 개발자의 내공입니다. 리팩토링이라고 하면 어렵게 생각하는 사람도 있고 또 언제해야할 지 무엇을 어떻게 해야 할지 모르는 사람이 많습니다. 이에 대해 간단히 정리해 봤습니다. 1. 리팩토링이 뭐에요?리팩토링을 정의하는 말들 겉으로 보이는 동작의 변환없이 내부 구조를 개선하는 것. - 마틴 파울러 작동하는 깔끔한 소스(Clean Code) 비야네 스트롭스트룹(Bjarne Stroupstrup) 우아하고 효율적인 코드, 의존성을 최대한..
- Total
- Today
- Yesterday
- ag grid
- SHEETJS
- 설정
- oracle
- java
- cache
- springboot
- mapToList
- example
- lombok
- sample
- RESTful
- Spring Boot
- 그리드
- thymeleaf
- mybatis
- UI
- 타임리프
- 스프링
- restful서비스
- 엑셀
- 메시지
- spring
- 예제
- AG-GRID
- REST
- 스프링부트
- 샘플
- listToMap
- Javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |