mosad2334.log
로그인
mosad2334.log
로그인
클린코드/리팩터링/TDD 감상문
mosad2334
·
2022년 1월 14일
팔로우
0
TDD
리팩터링
클린코드
0
서론
1차적으로 습득한다는 생각으로 전체적으로 훑어서 빠른 내용 습득이 목표
우선 이해한 만큼 사용해보면서 다시 내용 확인이 필요하다고 생각할 때마다 2차, 3차 이상 읽으면 언젠간 마스터 하겠지 라는 생각
최대한 이해하고 넘기고, 이해가 너무 오래걸리면 패스함
왜 필요한지 모르겠거나 해당하는 케이스가 생각나지 않을 때가 대부분
흥미가 떨어질 것 같으면 과목을 바꿔서 읽었음
클린코드 - 로버트 C. 마틴
문장이 클린코드마냥 유려하게 읽혔음
글을 잘 쓰면 코드도 잘쓰는 듯
내가 아는 코드들이 추상적인 논리를 그대로 표현하는 방식이었다면 마치 이야기를 해주는 듯이 코드를 작성하는 것 같다는 느낌을 받았음
2장 의미있게 구분해라 부분에서 a, an, the 언급한 부분
의미가 분명히 다르다면 사용해도 무방하다곤 했는데 리팩터링 2판에서 a를 매우 잘 쓰고있어서(aPerson, aChair..) 작성된 예시에서 걸리는 경우가 있을까봐 리팩터링 읽으면서 자꾸 집중하게됨
큰 목차를 세 개 정도 남겨두었을 때 표지의 얼룩의 의미를 알게 됨
클린코드인데 왜 더러운 얼룩을 표지로 했지? 보통 빗자루 같은 그림을 생각하지 않나? 라고 생각
마지막 목차에 모든 얼룩이 깨끗해 진 걸 보고 오 아이디어.. 하고 생각(이것도 스포라고 칠 수 있나)
필요할 때 보려고 클린코드 치트시트를 무조건 작성하고 싶었는데
1장 깨끗한 코드부터 7장 에러처리까지 치트시트로 작성할지
17장 냄새와 휴리스틱 내용을 위주로 치트시트를 작성할지 고민
둘 다 해도 되긴 하겠지만 어차피 일부는 중복되는 내용일텐데
이건 자고 일어나서 생각
클린코드로 작명 실력을 길러서 은퇴하면 작명소 차려도 되겠다고 생각함
거의 모든 상황에 대한 클린코드를 제시해 준 것 같다고 생각함
이 생각은 내가 봐도 쪼렙이라 뭘 몰라서 할 수 있는 소리 같긴 함
아무튼 그만큼 굉장히 다양한 상황에 대해서 말해줌
클래스와 시스템, 동시성에 대한 내용은 알고 싶던 내용이었음(아직 완벽한 습득은 못했지만)
리팩터링 2판 - 마틴 파울러
1장 시작부터 흐린 눈으로 봤음
나중에 설명되는 리팩터링 기법들의 용어로 쭈욱 길게 설명
모르는 용어로 일단 플롯을 조지고 시작하니 잘 들어오진 않았음
일단 그냥 흐름에 맡겨 쭉 코드 변경이 어떻게 되는지 지켜봄
다 읽고나서 한번 더 읽어야 될 부분일 듯 잠깐 다시 읽고 오겠음
오케이
스위치 구문을 이렇게 증오스러워 하는 지 몰랐음
자동 리팩터링 도구 궁금함
리팩터링 != 성능최적화 라는 사실이 인상깊음
지속적인 생산 속도를 유지하기 위해 필요하다는 사실이 인상깊음
다른 웹 프레임워크 환경과 웹 프레임워크가 아닌 환경에서 각각 대체 어떤 식으로 리팩터링하는 코드의 파일들을 관리를 하는지가 제일 궁금함
리팩터링 기법을 하나씩 설명하기 시작하는 6장 부터
기법을 간단하게 표현하는 도형
리팩터링 전, 후 코드
기법의 배경 설명에서 나타나는 리팩터링 필요이유
요 세 개만 습득하고 절차와 절차 그대로 구현하는 예시는 이해하면서 읽기에는 너무 시간이 많이 걸려서 패스
11장 API 리팩터링에서 리팩터링 전 코드들에서 이상한데 익숙한 코드들이 많이 보이는 것이 신기했음
아직 적재적소를 판단하기 힘듬
Test-Driven Development : By Example - 켄트 백
충격과 공포였음
이걸 이렇게 까지 한다고?
TDD 도입한 회사 다니는 신입 개발자 친구한테 그대로 물어봄
하이브리드로 해서 다는 하진 않는다고 하는데 그럼 테스트 주도라고 할 수 없는 것 아닌가..
일단 보긴 했는데 감이 안잡힘
그냥 빨리 직접 작성 시작해야 잡힐 것 같음
채팅 프로그램의 경우 대체 어떻게 시작해야 하지?
서버와 클라이언트가 나뉘고, 두 개의 다른 프로그램이 서로 통신하는 이 경우는 보통 어떻게 처리하지?
어떻게 처리할까?
그리고 클라이언트는 서버에서 메세지를 듣고 있는 스레드와 메세지를 입력해야 하는 스레드 하나가 계속 돌아가고 있는 구조여야 하는데 이런 상황에서 테스트 코드는 어떻게 작성하지?
빨리 해보고 싶음
프로그램이 엉킬까봐 불안해하는 마음 없이 엄청나게 폭주하면서 키보드 갈길 수 있을 것 같은 환상이 생김
클린코드와 리팩터링 2판에서 모두 켄트 백을 언급하는 부분이 인상깊음
결론
무슨 생각으로 월요일부터 이 세 과목 공부랑 다른 과목 두세 개에 토이프로젝트 제일 간단한 것으로 완성할 수 있다고 생각했지 나자신?
무슨 자신감이었던 걸까?
제일 적은 쪽수의 책이 380쪽이었다
지금까지 썼던 생각정리용 포스팅들이 마치 그냥 마구잡이로 쓴 코드같아서 포스팅을 리팩터링 해야겠단 생각이 들었음
세 권 모두 서로 중복되는 부분의 내용이 상당부분 있었음
동시에 세 권을 훑어볼 수 있어서 다행인듯
mosad2334
Web Developer / Read "KEEP CALM CARRY ON" Poster
팔로우
이전 포스트
node.js/nodemon systemd 서비스 등록하기
다음 포스트
냄새와 휴리스틱 치트시트
0개의 댓글
댓글 작성