의미를 전달할 수 있는 변수 이름을 붙여 주세요
매직 넘버에는 이름을 붙여주세요
복잡한 조건식은 함수화해주세요
계산식을 함수화해서 의미를 전달하세요.
사전 조건과 사후 조건은 assert로 명시해주세요.
사소한 중복도 티끌모아 태산이 되므로 줄여주세요.
조기 리턴을 활용해 주세요.
if 조건문을 작고 단순하게 만들어주세요.
자료구조를 활용해서 if 조건문을 줄여보세요.
null을 체크하지 않아도 되는 방법을 생각해보세요.
STL 알고리즘 함수를 활용해 주세요.
검색 반복문을 분리해주세요.
반복문 내의 처리는 최소한으로 만들어 주세요.
반목분 내부에서는 1개의 처리만 수행하세요.
람다식을 사용해서 반복문을 일반화하세요.
case 내부는 함수화해주세요.
부정확한 상태를 assert로 확인해주세요.
상태에 따른 분기는 다형성을 사용해야 하는 신호에요.
1개의 함수에는 1개의 역할만 주세요
단순한 함수일수록 재사용하기 좋아요
복잡한 복합 조건은 피해주세요.
자연어처럼 읽을 수 있게 코드를 작성하세요.
조건 분기 블록 내부는 함수화해야 하는 후보랍니다.
1개의 반복문에는 1개의 함수만 사용해주세요.
반복문 블록 내부는 함수화 후보랍니다.
데이터 변환 부분은 함수화해주세요.
데이터 확인 부분은 함수화해주세요.
배열 랜덤 접근 부분을 함수화해주세요.
취약한 기본 자료형 배열을 사용하지 말아 주세요.
주석으로 말하지 말고 함수로 말하세요.
매개 변수가 너무 많다면 함수를 분할하라는 신호랍니다.
매개 변수가 너무 많다면 클래스화하라는 신호랍니다.
컴파일러의 최적화 기능을 활용하세요.
재사용만이 함수화의 장점이 아니랍니다.
기본 자료형을 최소한으로 만들어 주세요.
컨테이너 조작을 위한 전용 클래스를 만들어 사용하세요.
변수를 클래스화해서 의도를 명확하게 전달해주세요.
변수를 클래스화해서 제한을 해주세요.
부분을 작게 만들면 전체가 작아져요.
getter와 setter를 되도록 사용하지 마세요.
부모 자식 관계라도 private를 사용해주세요.
클래스의 멤버 변수는 최소한으로 만들어주세요.
소결합 클래스로 설계해주세요.
상속보다는 이양을 우선해주세요
상속과 추상 인터페이스 구현을 구별해주세요.
하나의 클래스에 하나의 책임만 맡겨주세요.
변하지 않는 부분과 변하는 부분을 구분해서 설계해주세요.
불필요하고 복잡한 것을 넣지 마세요.
구체적인 것이 아닌 추상적인 것에 의존하세요
직접적인 친구와만 놀고, 친구의 친구와는 놀지마세요.
Singletone 패턴을 남용하지 말아주세요.
무리하게 디자인 패턴을 적용하려 하지 말아주세요.
클래스의 역할과 책임에 관해서 생각해주세요.
1개의 클래스에 너무 많은 일을 주지 않게 설계하세요.
중재자를 사용해 의존 관계를 단순화하세요.
외부와의 인터페이스 부분을 클래스화하세요.
객체생성도 매우 중요한 역할이랍니다.
전용 클래스와 범용 클래스를 명확하게 구분해주세요.
책임을 제대로 이양해 주세요.
클래스의 추상도는 캡슐화에 영향을 줍니다.
항상 추상도 높은 인터페이스를 어떻게 생성할지 생각해보세요.
추상 인터페이스로 소결합을 유도하세요.
추상 인터페이스 대신에 std:function을 사용해 보세요.
객체가 처음부터 완전환 상태로 생성되게 해주세요.
실행 순서를 보장할 수 있게 설계해주세요.
생성자와 소멸자로 리소스를 관리해주세요.
구현 방법을 은폐하는 이름을 붙여 주세요.
이거 지우지 마라 즐겨찾기 해놀꺼
저장 - dc App
개추개추개춫ㅊㅊㅊㅊㅊㅊ
개추 - dc App
완전 오글거리는데 가만 읽어 보면 도움되는 말이긴 함
별로 안오글거림 아주 적합하고 단순한 문장들 단어들로 구성되있는데 뭐가 오글거린다는거?