/ TDD, ARCHITECTURE, CLEANCODERS

아키텍처와 클린코드 그리고 TDD (2)

함수 리팩토링을 통해 아름다운 코드로 바꿔보자. 그리고 왜 이렇게 하는지 이해는게 목표이다.

이 포스팅에 나오는 내용 대부분은 백명석님의 유튜브영상에서 발췌된 내용입니다. 개인적인 학습, 리마인드를 위해 기록한 내용이며 자세한 내용은 해당 유튜브 강좌를 보시길 추천드립니다.

백명석님의 클린코더스 강의 다시보기

Function

원칙

  • 한가지 일만 해야 한다.
  • 함수의 크기는
    • 80년데 vt100터미널 24줄 80컬럼 -> 4줄은 에디터가 사용 -> 함수는 20개 이내여야 한다고 했[었]다.
    • 요즘은 모니터가 커졌다. 심지어 피봇까지? 밥아저씨는 4줄짜리 함수여야 한다.했다
  • indentation, while, nested if등은 없어야한다.
  • 잘지어진 서술적인 긴 이름을 갖는 작은함수를 많이 이용해서 유지해야 한다.

    Samll many fucntion + Nice Descriptive long name

The First Rule of Fuctions

  • 더이상 작아질 수 없을 만큼 작어야한다.
  • 큰 함수를 보면 클래수로 추출할 생각을 해야함
  • 클래스는 일련의 변수들에 동작하는 기능의 집합

FitnessExample 그냥 영상을 보자!
gradle에 익숙한 안드로이드 개발자에겐 조금 어색한 소스이고, 2013에 작성된 코드이다보니 안드로이드 스튜디오에서 편하게 따라 해볼만한 코튼린 기반의 라이브러리 프로젝트로 변경해봤다. https://github.com/mond-al/fitness-example-kotlin

  1. extract method object -> 이건 코틀린에서 되지않는다. 일단 수동으로 수행. (방법아시는분 공유 부탁드립니다.🙇‍♂️)
  2. 변수정리
    여러곳에서 사용되는 변수를 생성자 파라미터와 init스코프로 올린다. 이 작업은 함수의 인자는 최대한 적어야 한다라는 규칙과 두개이상의 인자를 변경하는 경우 IDE가 제공하는 extract function 수행할 수 없는 문제를 예방(?)한다.

이부분은 직접 코드를 보고 맥락을 살피는게 중요하기 때문에 텍스트로 옮기지 않음.

Search

Get more post