1\. 깨끗한 코드
좋은 이름을 짓는데는 시간이 오래걸린다, 그러나 좋은 이름으로 절약하는 시간이 더 많다는 것을 기억하자.
함수
우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 필요가 없다
프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다.
남들이 변수에 의존하지 않게 만들고 싶어 변수를 private로 정의한다 그렇다면 어째서 수많은 프로그래머가 get()과 set()을 당연하게 공개해 private 변수를 외부로 노출하는가?변수를 private으로 선언하더라도 get()과 set()을 제공한다면 구현을
예외가 발생하는 코드를 짤 때는 try-cath-finally 문으로 시작하는 편이 좋다먼저 강제로 예외를 일으키는 테스트 케이스를 작성한 후 테스트를 통과하게 코드를 작성하는 방법을 권장 -> 호출자가 기대한 상태를 정의하기 쉬워지기 때문Unchecked 예외는 실행
패키지 제공자나 프레임워크 제공자는 적용성을 최대한 넓히려 애쓴다사용자는 자신의 요구에 집중하는 인터페이스를 바란다그러다보니 외부 코드를 그대로 사용하면 필요하지 않은 기능까지 제공하게 된다따라서 경계 인터페이스를 이용할 때는 이를 이용하는 클래스나 클래스 계열 밖으로
단위 테스트 > 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차다. 즉, 모든 함수와 메소드에 대한 테스트 케이스(Test case)를 작성하는 절차를 말한다. - Wikipedia TDD
Intro 표준 자바 관례에 따르면, 클래스 안에서의 순서는 아래와 같다 static public 상수 static private 변수 private instance 변수(public 변수가 필요한 경우는 거의 없음) public method private meth
도시를 건설하고 관리하는 데에는 한 사람 만으로는 충분하지 않다. 그래도 도시는 돌아간다. 그것은 도시라는 거대한 덩어리를 수도, 전원, 교통 등의 모듈로 모듈화하고 관리되기 때문이다.소프트웨어 또한 비슷한 방식으로 구성되기는 하나 도시의 모듈화 만큼의 추상화를 이루지
단순하지만 중요한 네 가지 규칙을 따라 설계를 하면, 창발성이 촉진되어 우수한 설계를 완성할 수 있게 된다. 테스트를 철저히 거쳐 모든 테스트 케이스를 항상 통과하는 시스템은 '테스트가 가능한 시스템' 이다.테스트가 가능한 시스템을 만들려고 애쓰면 설계 품질이 더불어
객체는 처리의 추상화다. 스레드는 일정의 추상화다.동시성과 깔끔한 코드는 양립하기 어렵다여러 스레드를 동시에 돌리는 이유, 어려움, 어려움에 대처하고 클린 코드를 작성하는 법들, 동시성을 테스트하는 방법과 문제를 알아본다.무엇과 언제를 분리하면 어플리케이션 구조와 효율
깔끔한 작품을 내놓으려면 단계적으로 개선해야 한다.깨끗하고 우아한 프로그램을 한 방에 뚝딱 내놓을 수 없다. 프로그래밍은 과학보다 공예에 가깝다. 깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다.처음부터 지저분한 코드는 아니었고 제한적으로 기능을 지원