불필요한 연산이 들어간 코드의미가 모호한 코드중복된 코드성능저하생산성 저하유지보수가 어려움기술부채 n의n승으로 증가한가지를 제대로 하는 코드잘 쓴 문장처럼 읽히는 코드성능이 좋은 코드중복이 없는 코드의미를 도저히 알 수 없는 이름반복문에서 i는 상황에 따라 혼동을 유발
객체지향 설계의 5가지 원칙SRP: 단일 책임 원칙OCP: 개방, 폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙스마트폰은 계산기, 전화기, 인터넷컴퓨터, 메모장의 기능을 가지고 있다.단일 책임 원칙을 적용하자면 계산기로써 책
함수는 한가지의 기능에 충실한다작게 쪼개고 함수 내 추상화 수준을 동일하게 맞춘다인수는 0~2개가 적당하다3개 이상인 경우 객체를 인자로 넘기는 것도 고려해보자값을 반환하는 함수가 외부 상태를 변경하는 경우Session.initialize() -> 함수와 관계 없이 외
주석은 자신이 작성한 코드에대해 확신이 부족하다고 생각할때 작성하는 경우가 대부분부족하다고 끝내지 말고 코드를 개선을 하자첫번째 이유로 작성된 주석은 방치된다담당자가 변경됐을때코드 기능을 변경했는데 혹시몰라서 남겨두는경우그렇게 쌓인 주석은 다른 개발자들을 점점 혼란스럽