#개발서적

    클린코드 9장

    주제 클린코드 9장 정리 9장 "단위 테스트" 요약 단위 테스트 # 메모 TDD 법칙 1. 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 방대한 테스트 케이스를 커버할 수 있지만 그만큼 관리 문제도 야기된다. 실제 코드가 진화하면 테스트 코드도 변해야 한다는 문제. 테스트 코드가 지저분하고 복잡할 수록 수정하기도 어렵고 새로운 테스트 케이스를 추가하기도 어렵다. 떄문에 새 버전을 출시할 때마다 팀이 테스트 케이스를 유지하고 보수하는 비용도 늘어난다.. 이시간이 많이 드는 문제로 테스트를 포기하는 상황에 처함 근데 테스트가 없으면 개발자가 수..

    클린코드 6~8장

    주제 클린코드 6장 6장 "객체와 자료 구조" 요약 객체와 자료 구조 # 메모 조회 함수와 설정 함수(get, set)로 변수를 다룬다고 클래스가 되지는 않는다. 그보다는 추상 인터페이스를 제공해 사용자가 구현을 모른 채 자료의 핵심을 조작할 수 있어야 진정한 의미의 클래스다. (좌표 클래스의 setX(), setY()로 뭔가 지정하는게 아닌 setCartesian(double x, double y)로 지정해야 함. 자료를 세세하게 공개하기보다는 추상적인 개념으로 표현하는 편이 좋다. 개발자는 객체가 포함하는 자료를 표현할 가장 좋은 방법을 심각하게 고민해야 한다. 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만 제공한다. vs 자료 구조는 자료를 그대로 공개하며 별다른 함수는 제공하지 않는다...

    클린코드 4~5장

    주제 클린코드 4~5장 요약 4장 "주석" 요약 잘 달린 주석 # 메모 주석 없이 이해할 수 없는 코드는 좋지 않은 코드다. 부정확한 주석은 안스니만 못함 코드에 주석을 추가한다고 코드 품질이 좋아지진 않음 표현력이 풍부하고 깔끔하고 주석이 거의 없는 코드 >>>> 복잡하고 어수선하며 주석이 많은 코드 코드만으로 의도를 설명하라 좋은 주석(정말 좋은 주석은 주석을 달지 않고 이해 가능한 것) 법적으로 넣어야 하는 주석 기본적인 정보를 제공하는 주석(정규식의 의미 설명) 의도를 설명하는 주석 (이건 이것 때문에 작성한 코드이다~... 이러한 조건이 있어 작성한 조건식이다 ... ) 의미를 명료하게 밝히는 주석(a.eqauls(b) // a == b) 결과를 경고하는 주석 여유 ( //시간이 충분하지 않으면..

    클린코드 3장

    주제 클린코드 3장 정리 3장 "함수" 요약 함수를 잘 만드는법 # 메모 어떤 프로그램이든 가장 기본적인 단위는 함수이다. ★ 함수는 무조건 작게 만들어라 if/else, whilel 문 등에 들어가는 코드는 한 줄이어야 함 인덴트는 1단 혹은 2단을 넘어가지 않는다. (중첩 구조 발생) 함수는 한 가지 기능만 수행해야 한다. 한 가지 기능은 여러 단계에 걸쳐 수행될 수 있다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것 애초에 함수를 만드는 이유는 큰 개념(함수 이름을) 다음 추상화 수준에서 여러 단계로 나눠 수행하기 위함 함수가 한 가지만 하는지 판단하는 방법 : 단순히 다른 표현이 아니라 의미 있는 다른 함수를 추출할 수 있다면 여러 작업을 ..

    클린코드 1장 ~ 2장

    주제 클린코드 1장 ~ 2장 정리 1장 "깨끗한 코드" 요약 1. 깨끗한 코드란 무엇인가? # 메모 코드는 요구사항을 표현하는 수단 질 나쁜 코드가 누적되면 생산수단이 저하된다 요구사항의 변화와 시간의 압박으로 인한 코드 품질 저하 결국 좋은 품질의 코드를 생산하는 것은 프로그래머의 몫 빠른 시간 안에, 좋은 품질의 코드를 생산하기 위한 가장 좋은 방법은 코드를 깨끗하게 유지하는 습관이다. 나쁜 코드를 보고 나쁘다는 생각은 누구나 떠올릴 수 있지만, 개선 방안을 떠올리는 것은 코드 감각이 있는 프로그래머 깨끗한 코드는 보는 사람에게 즐거움을 선사해야 한다 오류 처리에 철저하라(메모리 누수, 경쟁 상태, 일관성 없는 명명법) 깨끗한 코드는 잘 쓴 문장처럼 읽혀야 한다 깨끗한 코드는 작성자가 아닌 사람도 읽..

    [스프링 부트와 AWS로 혼자 구현하는 웹 서비스] 정리

    스프링 부트와 AWS로 혼자 구현하는 웹 서비스 테스트 코드 작성 TDD와 단위 테스트는 다른 이야기 ※ TDD : 테스트가 주도하는 개발 단위 테스트 기능에 대한 불확실성 감소 문제 발견 리팩토링, 라이브러리 업그레이드 후 기능 작동 확인 단위 테스트를 해야 하는 이유 톰캣을 내렸다 껐다 할 필요 없다. Print 찍어서 눈으로 확인하지 않는다 새로운 기능이 추가될 때 기존 기능이 잘 작동하는지 확인할 수 있다. JPA JPA의 등장 배경 데이터 베이스 모델링에 치중되지 않고 객체지향적으로 프로그래밍하도록 집중 관계형 DB와 객체지향적 언어의 패러다임 일치를 시켜줌 Spring Data JPA JPA는 인터페이스로서 사용하기 위해 Hibernate 같은 구현체가 필요한데, 구현체를 직접 쓰지않고 Spr..