이름을 잘 짓기 위한 규칙 1. 의도가 분명하도록 변수, 함수, 클래스 이름은 다음과 같은 질문에 답할 수 있어야 한다. > 존재 이유 수행하는 기능 사용 방법 의도가 명시적으로 드러나는 이름을 사용하면 코드를 이해하기 쉽다. 2. 그릇된 정보를 주지 않도록
모든 코드의 기초인 함수를 잘 만드는 방법각 함수는 하나의 이야기만을 표현해야 한다.블록과 들여쓰기if/else, while문 안에 들어가는 블록은 한 줄이어야 한다. 그 블록 안에서 함수를 호출한다.함수에서 들여쓰기 수준은 최대 2단까지이다.한 가지 일만같은 추상화
주석은 근본적으로 악(惡)이다. 주석을 달기보다는 코드가 자신의 의도를 더 잘 설명할 수 있도록 코드를 수정하는 것이 낫다.법적인 주석저작권, 소유권 정보 등정보를 제공하는 주석다만 코드상에서 정보를 제공할 수 있다면 주석을 없애는 것이 좋다.의도를 설명하는 주석의미를
오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높다. 그런데 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 끼친다.오랜 시간이 지나 원래 코드의 흔적을 더 이상 찾아보기 어려울 정도로 코드가 바뀌어도 맨 처음 잡아놓은 구현 스타일과 가독성
1. 적절한 행 길이 200줄 정도의 파일로도 커다란 시스템을 구축할 수 있다.
깔끔한 오류 처리가 깨끗한 코드를 만든다.예외가 발생할 코드라면 try-catch-finally 문으로 시작하는 편이 낫다.try-catch 구조로 범위를 정의하고, TDD를 통해 나머지 논리를 추가한다.먼저 강제로 예외를 일으키는 테스트 케이스를 작성 후 테스트를 통
외부 소프트웨어를 사용하게 된다면 이 코드를 우리 코드에 깔끔하게 통합해야 한다.경계에 위치하는 코드는 분리해야 한다.경계 인터페이스를 클래스 안으로 숨겨 밖으로 노출되지 않도록 한다.프로그램에 필요한 인터페이스만 제공하도록 함으로써 우리의 설계 규칙, 비즈니스 규칙을
테스트 코드는 실제 코드만큼, 어쩌면 실제 코드보다 더 중요할 수 있다.테스트 코드는 실제 코드의 유연성, 유지보수성, 재사용성을 보존 강화한다.테스트 코드도 클린하게 유지해야 실제 코드가 망가지지 않는다.실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는
자바의 경우 가장 먼저 변수 목록이 나온다.static public 상수가 있다면 맨 처음에 나오고 다음으로 private 변수가 나오며, private 인스턴스 변수가 나온다.공개 변수가 필요한 경우는 거의 없다.변수 목록 다음에는 공개 함수가 나온다. 비공개 함수는
코드뿐만 아니라 시스템도 깨끗해야 한다.깨끗하지 못한 아키텍처는 도메인 논리를 흐리고 기민성을 떨어뜨린다.\-> 도메인 논리가 흐려지면 제품 품질이 떨어진다.\-> 기민성이 떨어지면 생산성이 낮아진다.시스템이든 개별 모듈이든, 돌아가는 가장 간단한 수단을 사용해야 한다
켄트 벡이 제시한 다음의 단순한 설계 규칙 네 가지가 설계 품질을 크게 높여줄 것이다.모든 테스트를 실행한다.중복을 없앤다.프로그래머의 의도를 표현한다.클래스와 메서드 수를 최소로 줄인다.시스템이 의도한 대로 돌아가는지 검증할 방법이 있어야 한다.테스트가 가능한 시스템
다중 스레드 코드는 구현하기 어렵다. 따라서 다음과 같은 원칙을 준수해야 한다.SRP를 준수하여 스레드를 아는 코드와 모르는 코드를 분리동시성 오류를 일으키는 잠정적 원인을 철저히 이해사용하는 라이브러리와 기본 알고리즘 파악보호할 코드 영역을 찾아내는 방법과 특정 코드
코드에서 나는 '나쁜 냄새'들의 목록 주석 1. 부적절한 정보 주석은 코드와 설계에 기술적인 설명을 부연하는 수단이다. 작성자, 최종 수정일, SPR(Software Problem Report) 번호 등과 같은 메타정보만 넣는다. 2. 쓸모 없는 주석 쓸모 없