ネーミングはプログラマにとって最も重要な能力の一つです。良いコードは良い名前から生まれます。良いネーミングは、名前を見ただけで、コードが意味するもの、意図するものを理解することができます。名は体を表します。汚いコードにきれいな名前を付けることはできません。プログラムを適用する領域を十分に分析し、適切に問題を切り分けできていなければ、良い名前は付けられません。名前が付けられないものを実装してはいけません。本書では、ネーミングに関する基本的な考え方から、一貫したネーミングを行うための命名規則の作成方法、および命名規則のサンプルを掲載しています。
はじめに
はじめまして、タムコムと申します。わたしたちは、技術・評論系の同人誌を発行す る同人サークルです。今回は、「良いコードを書くための命名規則とネーミング」と題 して、命名規則とネーミングについて扱った同人誌をお届けします。 ネーミングはプログラマにとって最も重要な能力の一つです。良いコードは良い名 前から生まれます。良いネーミングは、名前を見ただけで、コードが意味するもの、意 図するものを理解することができます。 名は体を表します。汚いコードにきれいな名前を付けることはできません。プログラ ムを適用する領域を十分に分析し、適切に問題を切り分けできていなければ、良い名前 は付けられません。名前が付けられないものを実装してはいけません。 本書では、ネーミングに関する基本的な考え方から、一貫したネーミングを行うため の命名規則の作成方法、および命名規則のサンプルを掲載しています。みなさんが普段 プログラミングを行う際の参考になれば幸いです。
目次
はじめに ............................................................................................... 1 ご注意 .................................................................................................. 1 1 ネーミング ................................................................................... 4 1.1 ネーミングとは ................................................................................ 4 1.2 なぜ名前を付けるのか...................................................................... 4 (1) 他のものと区別する ...................................................................... 4 (2) 読みやすくする ............................................................................. 4 1.3 悪いネーミングの問題...................................................................... 4 (1) 開発効率や保守性が悪化する ........................................................ 4 (2) バグの原因となる ......................................................................... 4 1.4 良いネーミングとは ......................................................................... 5 (1) 説明的である ................................................................................ 5 (2) ⼀貫性がある ................................................................................ 5 1.5 最低限守るべきルール...................................................................... 5 (1) ⾔語や開発環境の規約 .................................................................. 5 (2) 英⽂法・英単語 ............................................................................. 5 (3) イディオム(慣習) ...................................................................... 5 (4) ビジネス・ルール ......................................................................... 5 1.6 良い名前が⾒つからないときは ........................................................ 5 2 命名規則 ...................................................................................... 6 2.1 命名規則とは ................................................................................... 6 2.2 表記 ................................................................................................. 6 (1) ⼤⽂字・⼩⽂字 ............................................................................. 6 (2) 名前の⻑さ .................................................................................... 6 (3) 単語の境界 .................................................................................... 6 2.3 ⽂法 ................................................................................................. 7 3 (1) 品詞・句 ....................................................................................... 7 (2) 名詞の数 ....................................................................................... 7 (3) 動詞の活⽤形 ................................................................................ 7 2.4 語彙 ................................................................................................. 7 (1) 差異・ニュアンス ......................................................................... 7 (2) 意味関係 ....................................................................................... 8 3 命名規則のサンプル ...................................................................... 9 3.1 識別⼦の種類による命名 .................................................................. 9 (1) クラス名・オブジェクト名 ........................................................... 9 (2) メソッド名・関数名 ...................................................................... 9 (3) プロパティ名・変数名 ................................................................ 10 (4) 定数名 ......................................................................................... 11 3.2 ⽤語集 ............................................................................................ 11 (1) データの実体に関する語彙 ......................................................... 11 (2) データの属性に関する語彙 ......................................................... 15 (3) データの操作に関する語彙 ......................................................... 16 (4) 修飾語 ......................................................................................... 21 4 翻訳 ........................................................................................... 25 4.1 辞書・翻訳ツール........................................................................... 25 (1) 英辞郎 on the Web(アルク) .................................................... 25 (2) DeepL ......................................................................................... 25