티스토리 뷰

반응형

[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할 때까지는 오직 기능 구현에만 집중. 패쓰 후에 리팩토링
        -> 기능 구현에만 집착하는 것을 줄이고 항상 의식적으로 리팩토링이라는 활동을 해서 일정수준의 코드 품질을 유지할 수 있음
    • 테스트 메서드가 무얼하는지 의도가 나타나는게 중요하다(테스트 메서드명 되도않는 영어로 하는 것보다 한글로 하는것도 괜춘..)
  • 라이브코딩 시간
    • 로컬 변수 자꾸 만들려고 하는데 간단한건 그냥 해도 괜찮다 불필요한건 만들지 말자!
      • 변수명도 고민되는데 한줄로 하면 그런 고민 다 사라지니까 편하게~~
      • 리팩토링할 때 필요없는 로컬 변수 줄이기도 하자
    • given, when, then을 짧은 코드에서 하려면 애매해지고 가독성도 떨어진다
      • given, when, then을 주석으로 굳이  안 쓰고 공백으로 나눠서 표현해도 좋다
      • 실용주의로 손가락 건강도 지키자~~
    • commit은 기능 목록 단위로
    • private method는 테스트하지 않는다
      • 테스트를 하고 싶으면 설계를 다시 해야하는지 생각해야 한다
    • 로컬 변수가 함수 전체에서 사용되는 것은 좋지 않음
    • else 문을 줄여보자 줄이면 인덴트가 하나준다~~ 길면 로직 파악도 어려움
      • early return 활용해보기
    • 리팩토링할 때는 테스트 코드 전체 돌려보기
    • 인덴트를 1로 만드는 리팩토링을 하다보면 메소드를 분리하게 된다
      • 메소드는 작은 단위로 분리하는게 좋다 중요하다
    • oop를 처음 할 때는 스트림을 안 쓰는걸 추천
    • 함수형 스타일 + oop를 적절히 섞는게 좋지 않나..?
    • for문이 많이 돌면 성능이 많이 떨어진다
      • 하지만 실제 현장에서 사용하는 배열이나 콜렉션의 크기는 그닥 크지 않다
      • 일반적인 앱에서 for 문 돌 때 몇 밀리 세컨 걸리는데 성능에 큰 문제가 없다
      • 코드 구현할 때 성능에만 집착하는 경우가 있는데 요즘은 하드웨어 성능도 좋고 괜찮다
      • 성능도 중요하지만 여러 가지 측면을 고려해서 개발하는 것이 좋다
      • 가독성 좋은 코드를 지향해서 개발하다가 성능이 영 아닌거 같으면 그 때 합쳐라..
      • 실제로 성능 떨어지는건 데이터베이스 접근이나 외부 api, 네트워크 이슈 때문인게 더 많다.. for문은 매우 미미..
    • 로직 파악이 쉬워야 읽기 쉽고 유지보수하기 쉬운 코드!!
    • 자바의 다형성을 활용하면 if else 문을 다 제거할 수 있다!! > 생각해보자 어떻게 하면 될까...

 

 

 

간략 후기

  • 중간중간 수강생분들이 질문 던지고 답변하는 시간이 꽤 유익했따!! 네트워킹 시간도 기대중
  • 나름 클린 코드 책도 읽고 부서에서 코드리뷰도 활발히 하는 편인데 마음속에 의문으로 몇몇가지 원인불명 찝찝한게 있었는데 원인이라도 좀 알아질것 같다... 중간중간 질문드려야지
  • 읽으면 좋을 책들도 많이 추천해주셨다 다 적어놨다가 읽어야지... 책장에 이미 꽂혀있는 애들도 있는데 얘네도..
  • 집착... 집착을 줄이자...
  • 끝까지 잘 완수했으면 좋겠당
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함