반응형

개발자 3

[CleanCode] 9장. 단위 테스트

목차 TDD 법칙 세 가지 깨끗한 테스트 코드 유지하기 깨끗한 테스트 코드 테스트 당 assert 하나 F.I.R.S.T TDD 법칙 세 가지 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 깨끗한 테스트 코드 유지하기 깨끗하지 않은 테스트 코드는 유지 보수에 많은 비용이 필요하게 되고, 테스트 코드가 없으면 프로덕션 코드의 결함율이 높아지게 된다. 테스트 코드는 유연성, 유지보수성, 재사용성을 제공해야 한다. 깨끗한 테스트 코드 깨끗한 테스트 코드는 명료성, 단순성, 풍부한 표현을 바탕으로 한 가독성이 필수이다. 테스트 당 assert 하나 as..

Dev/Books 2020.05.18

[CleanCode] 7장. 예외 처리

목차 오류 코드보다 예외를 사용하라 Try-Catch-Finally 문부터 작성하라 미확인 예외를 사용하라 예외에 의미를 제공하라 호출자를 고려해 예외 클래스를 정의하라 정상 흐름을 정의하라 null을 반환하지 마라 null을 전달하지 마라 오류 코드보다 예외를 사용하라 오류 코드를 받아 처리 로직을 추가하는 것보다 오류가 발생하면 예외를 던지는게 좋음 Bad : 함수를 호출한 즉시 오류를 확인하지 않으면 문제가 발생할 확률이 높음 public class DeviceController { ... public void sendShutDown() { DeviceHandle handle = getHandle(DEV1); if (handle != DeviceHandle.INVALID) { retrieveDevi..

Dev/Books 2020.05.16

[CleanCode] 6장. 객체와 자료 구조

목차 자료 추상화 자료/객체 비대칭 디미터 법칙 자료 전달 객체 자료 추상화 변수를 함수를 통해 계층을 추가한다고 해서 구현이 저절로 감춰지지는 않는다. 추상 인터페이스를 제공해 사용자가 구현을 모르는 채 자료의 핵심을 조작할 수 있어야 클래스라고 할 수 있다. Bad : // 해당 클래스에 getX, getY 메서드를 추가한다 해도 사용자는 x, y를 반환할 뿐일 것이라고 추측이 가능하다 // 이것은 전혀 추상화되지 않은 상태이다 public class Point { public double x; public double y; } Good : // x, y가 실제 직교 좌표계인지, 극좌표계인지 알 수 없다 // 내부에서 변수가 바뀌던, 로직이 바뀌던 클라이언트는 상관이 없다 public interfac..

Dev/Books 2020.05.15
반응형