리팩토링2 스터디 - 001
1장 리팩터링: 첫 번째 예시 자, 시작해보자 다양한 연극을 외주로 받아서 공연하는 극단이 있다. 극단은 비극과 희극을 공연해주고, 공연료를 받는다. 포인트는 공연료를 청구할 때 지급된다. 공연료 청구서를 출력하는 예시 프로그램은 https://github.com/cmje...
1장 리팩터링: 첫 번째 예시 자, 시작해보자 다양한 연극을 외주로 받아서 공연하는 극단이 있다. 극단은 비극과 희극을 공연해주고, 공연료를 받는다. 포인트는 공연료를 청구할 때 지급된다. 공연료 청구서를 출력하는 예시 프로그램은 https://github.com/cmje...
12장 창발성 창발적 설계로 깔끔한 코드를 구현하자 착실하게 따르기만 하면 우수한 설계가 나오는 켄트 벡이 제시한 단순한 설계 규칙 4가지가 소프트웨어 설계 품질을 크게 높여준다. (Order by 중요도) 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도...
11장 시스템 도시를 세운다면? 도시의 일상은 큰 그림을 그리는 사람도 있고, 작은 사항에 집중하는 사람이 있기 때문에 유지됨 도시가 잘 돌아가는 다른 이유는 적절한 추상화와 모듈화 이로 인해 큰 그림을 이해하지 못하더라도 개인과 개인이 관리하는 구성요소가 잘 돌아감 깨끗...
Webstorm 구매 Webstorm 은 Jetbrains 사의 javascript 용 IDE 임 Webstorm 유료툴이라 지금까지는 Visual Studio Code 를 썼기때문에 딱히 관심두지 않았음 최근 이직한 회사에서 Webstorm 이 지원되어, 회사에서는 Webs...
맥에서 캡쳐한 영상을 gif 로 만드는 방법 업무중에 구동되는 화면을 캡쳐해서 공유해야하는 일이 종종 생김 맥의 캡쳐프로그램으로 캡쳐를 하면 .mov 파일이 생기는데 이를 gif 로 변경하고 싶어서 알아봄 원하는 조건은 용량이 mov 보다 작고 사이즈 조절이 가능했으면 좋겠다...
10장 클래스 클래스 체계 변수목록 : 정적 공개 상수 → 정적 비공개 변수 함수 : 공개 함수 → 비공개 함수 캡슐화 캡슐화를 풀어주는 결정은 항상 최후의 수단으로 사용한다. 테스트 코드가 함수를 호출하거나 변수를 사용해야 한다면, protected로 선언하여 ...
9장 단위테스트 TDD 법칙 세 가지 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 둘째 법칙: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작...
8장 경계 외부 코드 사용하기 java.util.Map 의 예시를 살펴보자 Map 의 기능들은 확실히 유용하지만 위험도 크다 예컨데 map의 사용자라면 누구나 map 내용을 지울 권한이 있고, map 은 객체 유형을 제한하지 않음 한 번 Sensor 객체를 담는 Senso...
7장 오류처리 뭔가 잘못될 가능성은 늘 존재한다. 뭔가 잘못되면 바로 잡을 책임은 바로 우리 프로그래머에게 있다. 깨끗한 코드와 오류 처리는 확실히 연관성이 있는데, 상당수 코드 기반은 전적으로 오류 처리 코드에 좌우된다. 코드 기반이 오류 처리만 한다는 의미가 아니라...
6장 객체와 자료 구조 변수를 비공개로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서다. 자료 추상화 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지 않는다. 구현을 감추려면 추상화가 필요하다! 그저 (형식 논리에 치우쳐) 조회 함수와 설정...