해피 코딩!

pycon - 우아하게 준비하는 테스트와 리팩토링 - 한성민님의 발표를 듣고 본문

TDD

pycon - 우아하게 준비하는 테스트와 리팩토링 - 한성민님의 발표를 듣고

지속가능한 성장을 2020. 12. 2. 21:44

영상 링크(클릭)
slide (클릭)

  • 클린코드

    • 클린 코드는 코드의 잠재적 문제를 해결하여 생산성을 높입니다.

    • Guard Clause는 Indent를 줄여줍니다.

    • None Object는 코드의 복잡한 조건을 간단하게 만들어줍니다.

      • 최대한 get을 활용하여, None obj를 비교하는 형태로 코드를 작성하면 코드의 양이 줄어들며 가독성이 늘어납니다.
      • None Obj를 작성하는 가이드라인을 보는것을 추천합니다.
        • 찾아도 안나오는데 찾으신 분들 댓글 부탁드립니다.
    • Bool, Object에서 None, False를 체크할 경우 'Not' Syntax Sugar를 사용하세요.

      • Syntax Sugar는 인간 친화적인 직관적인 코드라고 이해하면 됩니다.
      • Syntax Sugar의 반대는 Syntax Sort인데, 클린코드에서는 Syntax Sugaring을 지향합니다.
    • 짧은 조건은 삼항 연산자를 사용하세요.

    • 단순한 형태의 If, Switch는 Dict accessing 형태로 사용하세요.

    • 함수 이름은 snake_case로 지정, 행동(Action)을 이름의 가장 앞에 명명하세요.

    • 주석이 필요한 복잡한 로직은 함수로 분리하고, 함수 명을 주석 대신 사용하세요.

    • 3줄 이상의 라인이 중복된 코드는 함수로 분리하세요. (그 이하는 인라인 함수 혹은 인라인 유지)

    • 주석이 없는 클린 코드가 제일 좋은 코드임을 명심하세요.( 주석이 달리지 않아도 이해할 수 있는 코드)

    • 클래스와 함수에 너무 많은 기능을 주지 마세요. 많은 기능이 묶인 함수면 코드 기능별로 함수를 분리하세요.

    • 함수에 부여되는 인수가 4개를 넘지 않도록 주의하세요.

    • 복잡한 조건은 캡슐화를 하고 직관적인 이름을 명시하여 쉽게 만들어주세요.

    • .py 파일에 두 개 이상의 클래스를 정의하지 마세요. (클래스 별로 파일을 분리하세요)

  • 테스트 그리고 리팩토링

    • 특정 조건에서만 발생하는 버그로 인해, 일부는 동작하고 일부는 동작하지 않는다면 사람이 검수로 버그를 발견하기도 힘들어집니다.
      testcode

      테스트 특징
      TDD

후기

Clean Code : 클린코드에 대한 이해가 부족하였는데 해당 영상과, ppt 내에 있는 코드를 보면서 쉽게 이해할 수 있었습니다. 앞으로 코드를 작성할 때 주의해야 할 사항을 해당 내용을 참고하여 작성을 할 것입니다.

TDD : 각각의 내용을 블로그에 정리한 바가 있기 때문에 복습의 느낌으로 들을 수 있었다.

블로그에 내용을 정리하기 위해 이해가 안가는 각각의 단어를 찾아보게 되어서 발표 내용을 이해할 수 있었습니다.

'TDD' 카테고리의 다른 글

단위 테스트 활용 방법: JUnit 참조 가이드 를 읽고  (0) 2020.12.02
단위 테스트의 활용  (0) 2020.12.01
TDD란  (0) 2020.12.01
클린 코드를 위한 테스트 주도 개발 4장  (2) 2020.12.01
Comments