티스토리 뷰
강의 후기/TDD, Clean Code with Java 14기
[NextStep] TDD, Clean Code with Java 1강 후기
pansy0319 2022. 4. 7. 03:28반응형
[TDD, Clean Code with Java - https://edu.nextstep.camp/c/8fWRxNWU/]
2022.04.06
- NextStep, 포비 소개
과정 소개
- 과정을 슬기롭게 소화하는 방법
- 변화를 위해 의지력보다는 환경이 중요하다는 말이 공감되었다(본가 가서 재택할 때마다 제대로된 책상, 의자도 없어서 집중하기 힘들었던 기억이...)
- 내가 TDD와 리팩토링에 집착하는 이유(따로 적어두었던 내용만)
- TDD는 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술
- TDD는 피드백을 빠르게 받을 수 있다(코드를 짜고 테스트하면 피드백 짠)
- TDD의 아이러니 중 하나는 테스트 기술이 아니라는 점이다. TDD는 분석 기술이며, 설계 기술이기도 하다
- TDD를 하려면 요구사항을 더 철저하게 분석해야 함
- input, output을 잘 생각하면서 기능을 나눠서 개발해야 된다...
- 그래서 TDD를 잘하면 분석, 설계 역량이 높아진다!!
- TDD = Test First Development + Refactoring
- TDD Circle of life : TDD Fails -> Test Passes -> Refactor -> TDD Failes -> 반복...
- Test pass할 때까지는 오직 기능 구현에만 집중. 패쓰 후에 리팩토링
-> 기능 구현에만 집착하는 것을 줄이고 항상 의식적으로 리팩토링이라는 활동을 해서 일정수준의 코드 품질을 유지할 수 있음
- Test pass할 때까지는 오직 기능 구현에만 집중. 패쓰 후에 리팩토링
- 테스트 메서드가 무얼하는지 의도가 나타나는게 중요하다(테스트 메서드명 되도않는 영어로 하는 것보다 한글로 하는것도 괜춘..)
- TDD는 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술
- 라이브코딩 시간
- 로컬 변수 자꾸 만들려고 하는데 간단한건 그냥 해도 괜찮다 불필요한건 만들지 말자!
- 변수명도 고민되는데 한줄로 하면 그런 고민 다 사라지니까 편하게~~
- 리팩토링할 때 필요없는 로컬 변수 줄이기도 하자
- given, when, then을 짧은 코드에서 하려면 애매해지고 가독성도 떨어진다
- given, when, then을 주석으로 굳이 안 쓰고 공백으로 나눠서 표현해도 좋다
- 실용주의로 손가락 건강도 지키자~~
- commit은 기능 목록 단위로
- private method는 테스트하지 않는다
- 테스트를 하고 싶으면 설계를 다시 해야하는지 생각해야 한다
- 로컬 변수가 함수 전체에서 사용되는 것은 좋지 않음
- else 문을 줄여보자 줄이면 인덴트가 하나준다~~ 길면 로직 파악도 어려움
- early return 활용해보기
- 리팩토링할 때는 테스트 코드 전체 돌려보기
- 인덴트를 1로 만드는 리팩토링을 하다보면 메소드를 분리하게 된다
- 메소드는 작은 단위로 분리하는게 좋다 중요하다
- oop를 처음 할 때는 스트림을 안 쓰는걸 추천
- 함수형 스타일 + oop를 적절히 섞는게 좋지 않나..?
- for문이 많이 돌면 성능이 많이 떨어진다
- 하지만 실제 현장에서 사용하는 배열이나 콜렉션의 크기는 그닥 크지 않다
- 일반적인 앱에서 for 문 돌 때 몇 밀리 세컨 걸리는데 성능에 큰 문제가 없다
- 코드 구현할 때 성능에만 집착하는 경우가 있는데 요즘은 하드웨어 성능도 좋고 괜찮다
- 성능도 중요하지만 여러 가지 측면을 고려해서 개발하는 것이 좋다
- 가독성 좋은 코드를 지향해서 개발하다가 성능이 영 아닌거 같으면 그 때 합쳐라..
- 실제로 성능 떨어지는건 데이터베이스 접근이나 외부 api, 네트워크 이슈 때문인게 더 많다.. for문은 매우 미미..
- 로직 파악이 쉬워야 읽기 쉽고 유지보수하기 쉬운 코드!!
- 자바의 다형성을 활용하면 if else 문을 다 제거할 수 있다!! > 생각해보자 어떻게 하면 될까...
- 로컬 변수 자꾸 만들려고 하는데 간단한건 그냥 해도 괜찮다 불필요한건 만들지 말자!
간략 후기
- 중간중간 수강생분들이 질문 던지고 답변하는 시간이 꽤 유익했따!! 네트워킹 시간도 기대중
- 나름 클린 코드 책도 읽고 부서에서 코드리뷰도 활발히 하는 편인데 마음속에 의문으로 몇몇가지 원인불명 찝찝한게 있었는데 원인이라도 좀 알아질것 같다... 중간중간 질문드려야지
- 읽으면 좋을 책들도 많이 추천해주셨다 다 적어놨다가 읽어야지... 책장에 이미 꽂혀있는 애들도 있는데 얘네도..
- 집착... 집착을 줄이자...
- 끝까지 잘 완수했으면 좋겠당
반응형
'강의 후기 > TDD, Clean Code with Java 14기' 카테고리의 다른 글
[NextStep] TDD, Clean Code with Java 2강 후기 (0) | 2022.04.23 |
---|
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 클린코드
- kotlin In Action
- clean code
- ddd
- IntelliJ
- 자바
- cacheable
- JavaScript
- 도커
- QuickTimePlayer
- 스프링부트
- Spring
- back merge
- 스프링
- 도메인주도설계
- Kubernetes
- gasmask
- java
- 코틀린
- docker
- ImagePullBackOff
- docker pull limit
- docker for mac
- k8s
- 쿠버네티스
- springboot
- kotlin
- gradle
- linuxkit
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함