개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • Books (13)
      • 읽기 좋은 코드가 좋은 코드다 (13)
    • Study (6)
      • Blockchain (3)
      • Algorithm (3)
    • Baekjoon (36)
    • Programmers (166)
    • LeetCode (15)
    • Open Source (1)
      • Youtube Popout Player (1)
    • Language (32)
      • Python (9)
      • JS (8)
      • Java (5)
      • HTML (6)
      • CSS (4)
    • Library & Framework (15)
      • React.js (15)
    • IDE (2)
      • IntelliJ (2)
    • Airdrop (9)
    • Tistory (2)
    • etc.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

  • Python
  • Java
  • 코인줍줍
  • 백준
  • 코딩테스트연습
  • 클린 코드 작성법
  • 2018 KAKAO BLIND RECRUITMENT
  • 프로그래머스 위클리 챌린지
  • 프로그래머스
  • 파이썬
  • 코주비
  • Cozubi
  • 카카오 알고리즘 문제
  • 카카오 공채
  • 알고리즘문제풀이
  • 신규 코인 에어드랍
  • 카카오 코딩테스트
  • programmers
  • 읽기 좋은 코드가 좋은 코드다
  • 클린 코드

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

7. 읽기 쉽게 흐름제어 만들기
Books/읽기 좋은 코드가 좋은 코드다

7. 읽기 쉽게 흐름제어 만들기

2021. 12. 3. 13:40
반응형

이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다.

<<흐름을 제어하는 조건과 루프, 그리고 여타 요소를 최대한 "자연스럽게" 할 것!!>>

 

1. 조건문에서 인수의 순서

-> 왼쪽이 주체, 오른쪽이 고정 값.

// good
if(length > 0) {
	...
}

// bad
if(0 < length){
	...
}

 

2. if/else 블록의 순서

-> if(긍정) else : 일반적으로 좋음!

-> 간단한 것을 먼저하는 것 좋음

-> 더 흥미롭고, 확실한 것 먼저하는 것 좋음

 

3. 삼항 연산자를 사용하는 것

-> 기본적으로 if/else를 사용하고, 삼항 연산자는 매우 간단할 때만 사용한다.

-> 짧은 코드 < 다른 사람이 이해하기 쉬운 코드

 

4. do/while 루프를 피하라

 

5. 함수 중간에서 반환하기

-> 함수를 중간에서 반환하는 것은 적절한 "보호장치"가 될 수 있다.

-> "보호장치"라 함은, 함수가 고장나지 않도록 하는 예외처리라고도 할 수 있다.

 

6. 악명 높은 goto

-> goto는 되도록 사용하지 않는다.

 

7. 중첩을 최소화하기

-> 선형적인 코드를 추구하라.

-> 함수 중간 반환을 사용하여 중첩을 최소화할 수 있다.

-> 루프 내부에서 중간 반환시 continue 사용

 

8. 실행흐름을 따라올 수 있는가?

-> 자신의 프로그램에 존재하는 '흐름'을 상위수준에서 조명해보라.

-> 아래 표의 구조가 차지하는 비율이 너무 높지 않게 하라!

프로그래밍 구조 상위수준의 프로그램 흐름이 혼란스러워지는 방식
쓰레딩 어느 코드가 언제 실행되는지 불분명하다.
시그널/인터럽트 핸들러 어떤 코드가 어떤 시점에 실행될지 모른다.
예외 예외처리가 여러 함수 호출을 거치면서 실행될 수 있다.
함수 포인터 & 익명 함수 실행할 함수가 런타임에 결정되기 때문에 컴파일 과정에서는 어떤 코드가 실행될지 알기 어렵다.
가상 메소드 object.virtualMethod()는 알려지지 않은 하위클래스의 코드를 호출할지도 모른다.
반응형
저작자표시 (새창열림)

'Books > 읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글

9. 변수와 가독성  (0) 2021.12.06
8. 거대한 표현을 잘게 쪼개기  (0) 2021.12.06
6. 명확하고 간결한 주석 달기  (0) 2021.12.02
5. 주석에 담아야 하는 대상  (0) 2021.12.02
4. 미학  (0) 2021.12.02
    'Books/읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글
    • 9. 변수와 가독성
    • 8. 거대한 표현을 잘게 쪼개기
    • 6. 명확하고 간결한 주석 달기
    • 5. 주석에 담아야 하는 대상
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바