1. 의도를 분명히 밝혀라 변수나 함수 스리고 클래스 이름은 다음과 같은 질문에 모두 답해야 한다. 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. int d; // 경과 시간(단위: 날짜) //-- X int daysSinceCreation; //-- O public List getThem() { //-- X if (cell[STATUS_VALUE] == FLAGGED) //-- X } public List getFlaggedCells() { //-- O if (cell.isFlagged()) //-- O } Member member = memberRepository.findById(); //-- X Member findMember = memb..
1. 나쁜 코드 성능이 나쁜 코드 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 이해하기 어려운 코드 네이밍과 그 내용이 다른 코드 중복된 코드 비슷한 내용인데 중복되는 코드들은 버그를 낳는다. 2. 나쁜 코드가 나쁜 이유 깨진 유리창 법칙 나쁜 코드는 계속해서 주변에 나쁜 코드가 생기도록 한다. 생산성 저하 나쁜 코드가 점점 많아 지면서 개발속도를 떨어뜨리고 팀의 생산성이 저하된다. 새로운 시스템을 만들어야 한다. 결국 현 시스템을 유지보수 하며 대체할 새로운 시스템을 개발해야 하지만 현실적으로 어렵다. 급해서... 서두르느라... 시간이 부족하다고 생각해서... 여러가지 이유로 나쁜 코드를 만들어 내고 자신이 짠 코드를 쳐다보며 나중에 손보겠다고 생각한다. 대충 짠 프로그램이 ..
- Total
- Today
- Yesterday
- 스프링 카프카 컨슈머
- 폴링 발행기 패턴
- ATDD
- mockito
- 스프링 예외 추상화
- Git
- Stream
- 이벤트 스토밍
- http
- Spring
- Spring Boot
- clean code
- Ubiquitous Language
- MySQL
- JPA
- 학습 테스트
- kafka
- Spring Data JPA
- spring rest docs
- 계층형 아키텍처
- named query
- TDD
- H2
- 도메인 모델링
- java8
- 트랜잭셔널 아웃박스 패턴
- 클린코드
- HTTP 헤더
- 육각형 아키텍처
- 마이크로서비스 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |