본문으로 건너뛰기
입문25

코드 읽기의 기초: 변수·조건·반복·함수

코드를 짜는 것과 읽는 것은 다른 기술이다. QA에게 필요한 건 후자다. 변수·조건문·반복문·함수 네 가지 블록만으로 대부분의 코드를 읽어낼 수 있다.

  • #코드읽기
  • #프로그래밍기초

개념

짜는 것과 읽는 것은 다른 기술이다

"저는 개발자가 아니라서 코드를 못 봐요"라는 말을 QA에게서 자주 듣는다. 하지만 코드를 처음부터 짜는 능력이미 짜여진 코드를 읽고 무엇을 하는지 이해하는 능력은 다른 기술이다. QA에게 필요한 건 대부분 후자다 — 그리고 후자는 생각보다 배우기 쉽다.

코드를 이루는 네 가지 블록

거의 모든 프로그래밍 언어는 이 네 가지 개념의 조합으로 되어 있다.

1. 변수(Variable) — 값을 담아두는 상자.

let discount = 0.1  // "discount"라는 상자에 0.1을 담아둔다

2. 조건문(Conditional) — "만약 ~라면"으로 갈라지는 분기.

if (discount > 0) {
  // 할인이 있을 때만 실행되는 코드
} else {
  // 할인이 없을 때 실행되는 코드
}

3. 반복문(Loop) — 같은 동작을 여러 번 되풀이.

for (let item of cartItems) {
  // 장바구니의 각 상품에 대해 반복 실행
}

4. 함수(Function) — 이름 붙은 작업 단위. 입력을 받아 결과를 낸다.

function applyDiscount(price, rate) {
  return price - (price * rate)
}

조합해서 읽기

function calculateTotal(cartItems, couponRate) {
  let total = 0
  for (let item of cartItems) {
    total = total + item.price
  }
  if (couponRate > 0) {
    total = applyDiscount(total, couponRate)
  }
  return total
}

이 함수를 한 줄씩 읽어보면: "장바구니 상품들을 하나씩 돌면서(반복문) 가격을 더하고(변수), 쿠폰 비율이 0보다 크면(조건문) 할인을 적용한다(함수 호출)." — 문법을 몰라도 네 블록이 뭘 하는지만 알면 이 정도 코드는 읽어낼 수 있다.

모르는 문법을 만났을 때

모든 문법을 외울 필요는 없다. 처음 보는 표현을 만나면 "이게 변수인가, 조건인가, 반복인가, 함수인가"부터 판단하고, 필요하면 그 문법만 검색해서 확인한다. QA에게 필요한 건 완벽한 문법 지식이 아니라, 이 코드가 대략 무엇을 하려는지 파악하는 감각이다.

실무에서 왜 필요한가

버그 리포트를 쓸 때 "이 조건에서 이런 결과가 나온다"(모듈 6 레슨 2)를 정확히 쓰려면, 가끔은 코드를 직접 열어 "이 조건문이 실제로 어떤 조건을 검사하는지" 확인하는 게 말로 추측하는 것보다 빠르고 정확하다. 또한 개발자가 "이 부분 고쳤어요"라고 할 때, 실제 diff를 열어 무엇이 바뀌었는지 직접 읽을 수 있으면 재검증(모듈 6 레슨 1)의 정확도가 크게 올라간다.

실습 과제

과제 1 — 코드 설명해보기 (15분)

다음 코드를 한 줄씩 한국어로 설명해본다.

function isEligibleForFreeShipping(cartTotal, memberLevel) {
  if (memberLevel === "VIP") {
    return true
  }
  if (cartTotal >= 30000) {
    return true
  }
  return false
}

과제 2 — 조건 찾아 결과 예측하기 (10분)

위 함수에 cartTotal = 25000, memberLevel = "일반"을 넣으면 결과가 무엇일지 코드를 따라가며 예측해본다.

자가 체크리스트

  • 변수·조건문·반복문·함수 네 가지 블록의 역할을 설명할 수 있다
  • 간단한 함수를 한 줄씩 읽고 한국어로 설명할 수 있다
  • 모르는 문법을 만났을 때 어떻게 접근해야 할지 설명할 수 있다
  • 코드를 읽는 능력이 결함 리포트·재검증에 어떻게 도움이 되는지 설명할 수 있다

흔한 실수

  • "개발자가 아니니까 코드는 못 본다"고 지레 포기한다. 짜는 것과 읽는 것은 다른 기술이며, 읽는 건 생각보다 접근하기 쉽다.
  • 모든 문법을 완벽히 외우려 한다. 필요한 건 대략적인 흐름 파악 능력이지 문법 암기가 아니다.
  • 코드를 보지 않고 항상 개발자에게 구두로만 물어본다. 간단한 질문은 코드를 직접 열어 확인하는 게 더 빠를 때가 많다.

참고 자료

  • freeCodeCamp — Learn to Code — 무료로 프로그래밍 기초 개념을 실습할 수 있는 자료
  • Codecademy — 변수·조건·반복·함수 개념을 다루는 입문 코스(여러 언어 지원)