본문 바로가기

Clean Code

(12)
형식 맞추기 #4 목차 포맷팅이 중요한 이유 클린 코드 포맷팅 Java Class Declarations Team Coding Convention 포맷팅이 중요한 이유 가독성에 필수적이다. // 안좋은 포맷팅.. public void horriblyFormattedMethod() { System.out.println("First line); System.out.println("Second line); System.out.println("Third line); for (int i = 0; i < 3; i++) System.out.println("number " + i); } // 좋은 포맷팅 public void horriblyFormattedMethod() { System.out.println("First line); S..
코드를 보조하는 주석 #3 목차 주석을 최대한 쓰지 말자 좋은 주석 주석보다 annotation JavaDoc 주석을 최대한 쓰지 말자 주석은 나쁜 코드를 보완하지 못한다. // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if((employee.flags && HOURLY_FLAG) && employee.age > 65) // 의미있는 이름을 지으면 해결된다. if(employee.isEligibleForFullBenefits()) 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하지 말고 개선하는데 시간을 보내야 한다. 코드로도 의도를 표현할 수 있다. 주석은 방치된다. 코드의 변화에 따라가지 못하고, 주석은 방치된다. 코드는 컴파일되어 호출되지만, 그저 주석이기..
함수를 안전하고 간결하게 작성하기 #2 목차 SOLID 간결한 함수 작성하기 안전한 함수 작성하기 함수 리펙토링 SOLID 원칙 1. 단일 책임 원칙(Single Responsibility Principle) 2. 개방 폐쇄 원칙(Open-Closed Principle) 3. 리스코프 치환 원칙(Liskov Substitution Principle) 4. 인터페이스 분리 원칙(Interface Segregation Principle) 5. 의존 관계 역전 원칙(Dependency Inversion Principle) SRP (단일 책임 원칙) - 한 클래스는 하나의 책임만 가져야 한다. 클래스는 하나의 기능만 가지며, 어떤 변화에 의해 클래스를 변경해야 하는 이유는 하나뿐이어야 한다. SRP 책임이 분명해지기 때문에, 변경에 의한 연쇄작용에서..
클린 코드와 그 첫걸음 네이밍 #1 목차 나쁜 코드 클린 코드 의미 있는 이름 짓기 Google Java Naming Guide 나쁜 코드 성능이 나쁜 코드 - 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 - 이해하기 어려운 코드 네이밍과 그 내용이 다른 코드 중복된 코드 - 비슷한 내용인데 중복되는 코드들 버그를 낳는다. 나쁜 코드가 나쁜 이유 깨진 유리창 법칙 - 나쁜 코드는 유리창처럼 계속 나쁜 코드가 만들어지록 한다. 생산성 저하 - 나쁜 코드는 팀 생상선을 저하시킨다. 기술부채를 만들어 수정을 더 어렵게 한다. 새로운 시스템을 만들어야 한다. - 현시스템을 유지 보수하며 대체할 새로운 시스템 개발은 현실적으로 매우 어렵다. 나쁜 코드를 짜는 이유 일정이 촉박해서 일정 안에 새로운 기능을 완성해야 한다. 하..