Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 1.75 KB

sessions.md

File metadata and controls

55 lines (42 loc) · 1.75 KB

2021.05.03 GDSC Session [가독성 좋은 코드 작성 팁]


1. Clean Code란?

"우아하고 효율적인 코드" : 비야네 스트롭스트롭 - C++ 창시자

  • 논리가 간단하고 의존성을 최대한 줄여야 한다(=한 가지를 제대로 해야함)

"잘 쓴 문장처럼 읽히는 코드" : 그래디 부치 - UML 창시자

  • 단순하고 직접적이며 설계자의 의도를 표현해야함. 단순한 제어문으로 구성

"문학적으로 표현하는 코드" : 큰 데이븐 토마스 - OTI 창립자

  • 의미 있는 이름, 특정 목적을 달성하는 방법을 여러 가지가 아니라 하나만 제공
  • 의존성을 최소화하고 의존성을 명확히 정의

=> 읽기 쉬운 코드!

  • 의도가 담긴 이름
  • 로직을 단순하고 간단하게
  • 의존성을 최소화
  • 한 가지 일만

WHY?
*버그가 없고 유지보수하기 쉬운 프로그램

2. 표면적 수준에서의 코드 개선

  • 보편적 이름 피하기

    • tmp : temporary
    • get : fetch, download
    • size : height, numNodes, memoryBytes
  • 루프 반복자 이름 짓기

    • i, j, k : club_i(ci), member_i(mi), user_i(ui)
  • 불린 변수 이름 짓기

    • is, has, can, should
    • positive expressions needed
  • 범위값을 나타내는 변수명 짓기

    • 양단 포함 : min/max, first/last, left/right
    • 뒷단 불포함 : begin/end

3. 로직의 개선

  • 조건문에서 인수의 순서

    • 유동적인/비교가 되어지는, 고정적인/비교대상으로 사용되는
    • 변수, 수
    • received, expected
  • if/else 블록의 순서

    • 긍정이 먼저
    • 간단한 것 먼저
    • 더 중요한 것 먼저
  • 블록의 중첩 최소화

    • if (1) { if (1) { ... }} x