본문 바로가기

전체 글199

[Clean Code] 15장 JUnit 들여다 보기 15 JUnit 들여다 보기생성일2024년 3월 18일 오후 4:34태그비어 있음JUnit 프레임 워크개선조건문 캡슐화변수명을 명확하게 변경부정문을 긍정문으로 변경적절한 함수이름 적용함수 분리일관적인 함수 사용방식 적용숨겨진 시간적인 결합 적절하지 못한 이름JUnit은 자바 프레임 워크 중에 가장 유명하다. 이 장에서는 JUnit 프레임워크에서 가져온 코드를 평가한다. JUnit 프레임 워크우리가 살펴볼 모듈은 문자열 비교 오류를 파악할 때 유용한 코드인 ComparisonCompactor 모듈ComparisonCompactor 모듈 코드코드 커버리지 100 % 저자들이 모듈을 좋은 상태로 남겨두었지만 보이스카우트 규칙에 따르면 더 깨끗하게 해놓고 떠나야 한다.개선조건문 캡슐화의도를 명확히 표현하려면 .. 2025. 3. 17.
[Clean Code] 13장 동시성 13 동시성생성일2024년 3월 18일 오후 3:29태그비어 있음✏️ 동시성이 필요한 이유✏️ 난관✏️ 동시성 방어 원칙✏️ 라이브러리를 이해하라✏️ 실행 모델을 이해하라✏️ 동기화하는 메서드 사이에 존재하는 의존성을 이해하라✏️ 동기화하는 부분을 작게 만들어라✏️ 올바른 종료 코드는 구현하기 어렵다✏️ 스레드 코드 테스트하기✏️ 결론✏️ 동시성이 필요한 이유동시성은 결합을 없애는 전략동시성 구현이 필요한 상황 매일 수많은 웹 사이드에서 정보를 가져와 요약하는 정보 수집기가 단일 스레드 프로그램이라면 24시간 안에 정보를 수집할 수 없다. 대신 다중 스레드 알고리즘을 이용하면 수집기 성능을 높일 수 있다.동시성에 관한 오해동시성은 항상 성능을 높여준다.⇒ 때로 성능을 높여준다. 여러 프로세서가 동시에 처.. 2025. 3. 17.
[Clean Code] 11장 시스템 11 시스템생성일2024년 2월 27일 오후 7:08태그비어 있음🌏 도시를 세운다면?🌏 시스템 제작과 시스템 사용을 분리하라🌏 확장🌏 자바 프록시🌏 순수 자바 AOP 프레임 워크🌏 AspectJ 관점🌏 테스트 주도 시스템 아키텍처 구축🌏 의사 결정을 최적화 하라🌏 명백한 가치가 있을 때 표준을 현명하게 사용하라🌏 시스템은 도메인 특화 언어가 필요하다🌏 결론“복잡성은 죽음이다. 개발에게서 생기를 앗아가며, 제품을 계획하고 기획하고제작하고 테스트하기 어렵게 만든다.” - 레이오지, 마이크로소프트 최고 기술 책임자🌏 도시를 세운다면?도시를 세운다면 혼자서는 무리이다. 각 분야를 관리하는 팀이 있기때문에 돌아간다.또한 적절한 추상화와 모듈화 때문에 잘 돌아간다.그러나 막상 팀이 제작하는 시.. 2025. 3. 17.
[Clean Code] 9장 단위 테스트 9장 단위 테스트생성일2024년 2월 27일 오후 3:09태그비어 있음🧪 TDD 법칙 세 가지🧪 깨끗한 테스트 코드 유지하기🧪 깨끗한 테스트 코드테스트 당 개념 하나first단위 테스트를 자동화하는 프로그래머들이 점점 증가하고 있지만 그 와중에 많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는 좀 더 중요한 사실을 놓쳐버렸다.🧪 TDD 법칙 세 가지첫째 법칙 : 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.둘째 법칙 : 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.이렇게 하면 실제코드가 테스트 코드가 완성된 30초 후에 나오게 된다.그리고 실제 코드와 맞먹을 .. 2025. 3. 17.