오늘 아침 PR을 하나 올렸다. 슬랙에서 리뷰어에게 "오늘 아침에 올린 PR 봐 주실 수 있어요?"라고 부탁하려 한다. 한국어 문장에는 PR 앞에 아무것도 붙지 않는다. 영어로 옮기면 PR 앞에 a를 넣을지, the를 넣을지, 그냥 둘지 정해야 한다.
| 용어 | 뜻 |
|---|---|
| 관사(article) | 명사 앞에 붙는 짧은 말. 영어에는 a, an, the 셋이 있다. 예: a bug, the build |
| 부정관사(indefinite article) | a와 an을 함께 부르는 이름. 예: an API |
| 정관사(definite article) | the를 부르는 이름. 예: the README |
| 무관사(zero article) | 명사 앞에 관사를 아무것도 붙이지 않은 것. 이 장에서는 '관사 없음'이라고 부른다. 예: We use React. |
| 셀 수 있는 명사(countable noun) | 하나, 둘로 셀 수 있어서 숫자를 바로 붙일 수 있는 명사. 예: one test, two tests |
| 단수 / 복수(singular / plural) | 하나를 말하는 형태 / 둘 이상을 말하는 형태. 복수는 대개 끝에 -s가 붙는다. 예: a commit / commits |
오늘 아침 내가 올린 그 PR 하나를 봐 달라고 할 때 알맞은 것은?
규칙: 처음 꺼내나, 듣는 사람도 아나
A. 셀 수 있는 단수 명사를 처음 꺼낼 때는 a/an을 쓴다. 듣는 사람이 아직 모르는 것, 여럿 중 하나를 말할 때다. 셀 수 있는 단수 명사는 관사나 my, this처럼 명사 앞에서 어느 것인지 정해 주는 말 없이 혼자 쓰지 않는다(British Council: Articles).
I found a bug in the date picker.Can you add a test for this case?There's a typo in the README.
B. 듣는 사람도 무엇인지 알면 the를 쓴다. 앞에서 이미 꺼냈거나, 뒤에 붙은 말이 하나로 정해 주거나, 이 팀·이 맥락에 하나뿐이라서 둘 다 아는 것이다. 같은 문서가 "듣는 사람이 이미 어느 것인지 알 때" the를 쓴다고 설명한다.
I found a bug. The bug only happens on mobile.(앞에서 꺼냈다)Can you review the PR I opened this morning?(뒤의 말이 정해 준다)The build is broken./The login page is down.(팀이 같이 쓰는 그 빌드, 그 로그인 페이지)
C. 복수형(plural)과 셀 수 없는 명사(uncountable noun)는 처음 꺼내거나 일반적으로 말할 때 관사 없이 쓴다. 복수형에는 a를 붙일 수 없어서다. 일반적인 것을 관사 없이 말하는 규칙은 같은 문서에 있다. 셀 수 없는 명사는 Unit 8에서 따로 다룬다. 특정한 무리를 가리키면 다시 the가 붙는다.
Tests are failing on main.(어떤 테스트들이 실패하고 있다, 처음 꺼냄)Unit tests should be fast.(단위 테스트라는 것 일반)The tests in this file are flaky.(이 파일의 그 테스트들)
D. a와 an은 철자가 아니라 첫 소리로 고른다. 자음(consonant) 소리 앞에는 a, 모음(vowel) 소리 앞에는 an이다. 약어는 글자를 어떻게 읽느냐가 기준이다(Google 개발자 문서 스타일 가이드: Indefinite articles before abbreviations).
an API(에이-),an HTTP request(에이치-),an hour(h가 소리 나지 않는다)a unit test(유-, 자음 소리),a userSQL은 읽는 법이 갈린다. 글자대로 "에스큐엘"이면an SQL query, "시퀄"이면a SQL query다. 같은 가이드는a SQL을 고른다(word list: SQL). 팀 문서의 관례를 따르면 된다.
표현: 이슈, 리뷰, 슬랙에서 붙는 관사
| 표현 | 언제 | 예 |
|---|---|---|
a + 단수 | 이슈·리뷰에서 처음 꺼낼 때 | I left a comment on line 42. |
the + 명사 + 꾸미는 말 | 뒤의 말이 하나로 정해 줄 때 | the PR I opened, the commit that broke the build |
the + 공용 대상 | 팀이 같은 것을 떠올릴 때 | the build, the staging server, the release branch |
| 관사 없는 복수 | 처음 꺼내거나 일반적으로 말할 때 | Tests are failing., Users can't log in. (log in: 로그인하다) |
| 제품 이름만 | 이름을 단독으로 쓸 때 | We use React., It's on GitHub. |
the + 이름 + 명사 | 이름이 뒤의 명사를 꾸밀 때, API·CLI 이름 | the GitHub API, the React docs, the gcloud CLI |
제품 이름 앞에는 the를 붙이지 않지만, 이름이 다른 명사를 꾸미거나 API·도구 이름일 때는 붙인다. 같은 가이드가 The Transcoder API, The gcloud CLI를 예로 든다(Articles before product names). 관사는 이름이 아니라 그 뒤 명사(API, docs)에 붙는다고 보면 된다.
a bug, the build처럼 관사가 꼭 붙습니다. 일반적인 복수만 Tests are failing처럼 관사 없이 씁니다.I found bug, Build is broken처럼 단수 명사 앞이 비게 됩니다. 단수 명사가 보이면 앞에 a, the, my, this 중 무엇이 있는지 확인합니다.함정 찾기: AI가 다듬어 준 버그 리포트
결제 화면에서 찾은 버그를 영어 이슈로 정리해 줘.
- 사파리에서만 생김
- 두 번 제출하면 주문이 두 개 생김
의심스러운 줄을 모두 눌러 표시한 뒤 “검토 끝”을 누르세요. 함정은 3개입니다.
연습
1. 리뷰 코멘트로 개선점을 처음 제안할 때:
"Consider adding ___ test for the empty input."
2. 팀 모두가 아는 main 브랜치의 CI 빌드가 왜 실패하는지 보고 있다고 할 때:
"I am looking into why ___ build on main is failing."
3. 처음 꺼내는 API 하나를 말할 때:
"This service calls ___ API to fetch exchange rates."
4. 팀이 쓰는 도구를 소개할 때(제품 이름을 단독으로 쓴다):
"We use ___ for our frontend."