---
title: "命名"
description: "「命名」：yokoten ガイドの一章。"
canonical: https://yokoten.app/ja/docs/guide/naming
lang: ja
source: https://github.com/yokoten-labs/yokoten/blob/v0.1.2/docs/i18n/ja/guide.md
ref: "v0.1.2"
---

> For AI agents: the documentation index is at https://yokoten.app/llms.txt. To set up yokoten in a project, follow https://yokoten.app/agents.md.

# 命名

名前は、読者がコードで最初に出会うものであり、最も多く読むものです。良い名前は何が入っているかを伝えるので、読者は確かめるためにさかのぼりません。ある研究では、名前が完全な語のとき、72 人の開発者が欠陥を約 19% 速く見つけました。

yokoten 自身のコードは五つのルールに従います。理由と出典は[記録 0006](https://github.com/yokoten-labs/yokoten/blob/v0.1.2/docs/records/0006-names.md)にあります。

1. 完全な英語の語を使う。みんなが知る短い形だけを使う。`id`、`url`、`pr`、`ci`、`env`、`config`、`repo`、`dir`、`json`、`html` である。語の中の文字を削らない。
2. 多くても 4 語。文字数の制限はない。制限があると、人が語を短く切るからである。
3. 一文字は、10 行以内で使われ、輸出されない名前だけに使う。`_` は使わない引数だけに使う。
4. 値と関数は `camelCase`、型は `PascalCase` で書く。`CONSTANT_CASE` はファイルの先頭の固定値だけに使う。頭字語は語として書く。`loadHttpUrl` である。
5. 関数は動詞で始める。真偽値は `is`、`has`、`can` で始める。一つの考えには一つの名前を、どのファイルでも与える。

| こうではなく | こう書く | なぜ |
|---|---|---|
| `r`、30 行あとで使う | `result` | 30 行目までに、読者は `r` が何を持つか忘れている。 |
| `cfgMgr` | `configManager` | 語の中の文字が削られ、読者が推測しなければならない。 |
| `processTheUserInputDataNow` | `parseInput` | 6 語ある。「process」「data」「now」は新しいことを何も伝えない。 |
| `_count` | `count` | `_` は何も足さない。 |
| 関数の中の `MAX_TRIES` | `maxTries` | `CONSTANT_CASE` は「ファイル全体で固定」を意味する。 |
| `loadHTTPURL` | `loadHttpUrl` | 一つの頭字語はどこで終わり、次はどこで始まるのか。 |
| `valid` | `isValid` | `is` は真か偽かを言う。 |
| `user()` | `loadUser()` | 動詞が関数のすることを言う。 |

短い名前は、読者がすべてを一度に見られるときに構いません。三行のループの `for (const n of numbers)` は明快です。名前が遠くへ行くほど、多くを語らなければなりません。

`test/repo/architecture.test.ts` はルール 2 と 3、そして関数の中の `CONSTANT_CASE` をチェックします。失敗はそれぞれ、何を変えるかを言います。

```
src/rules/guards.ts:195: "i" is used for 101 lines. A reader must scroll back to learn what it holds. Name what it is, e.g. "index".
```

どのプロジェクトでも、`check --pr` は作られた場所から遠くで使われる一文字の名前と、4 語より多い名前に注意します。読むのは、プルリクエストが TypeScript と JavaScript のファイルに足す行だけです。注意が CI を失敗させることは決してありません。

ルール 1 と 5 は判断が要るので、レビュアーがチェックします。

---

前の章: [核心ルール](https://yokoten.app/ja/docs/guide/the-core-rules.md)
次の章: [エージェントをチームのように動かす](https://yokoten.app/ja/docs/guide/managing-agents-like-a-team.md)
