コードの命名規則とリファクタリングの初歩
分かりやすい命名のコツや、簡単なリファクタリング手法を解説!
プログラミングを始めたばかりのエンジニアの皆さん、こんにちは!
コードを書くとき、変数やメソッドの名前を「適当に付けちゃおう」と思ったこと、ありませんか?
また、「コードが読みにくいなぁ」と感じたことはありませんか?
この記事では、コードの命名規則を守るコツや、簡単にできるリファクタリングの手法を解説します。
日常生活の例えを交えながら、楽しく学んでいきましょう💡
🚀 なぜ命名規則が重要なのか?
ラベルのない箱、どうする?
家の中にあるすべての箱に「モノ1」「モノ2」とだけラベルが貼られていたら、どれに何が入っているのかわからなくなりますよね?例えば、「書類」や「衣類」とラベルを付ければ、一目で中身が分かり、探す手間が省けます。コードも同じで、適切な名前を付けることで「この変数は何のためのものか」が一目で理解できるようになります。
コードでも同じことが言えます。変数やメソッド名が適当だと、後で見直したときに「これ何だっけ?」と迷子になってしまいます。
適切な命名をすることで、コードがすぐに理解できるようになり、自分にも他人にも優しいコードを書けるようになります!
📝 分かりやすい命名のコツ
1. 名前は「中身」を明確に表す
何をしているのか
や 何を表しているのか
をひと言で説明できる名前をつけましょう。
悪い例:
int a = 25; // この数値は何?
String b = "Yamada"; // bは何を表しているの?
良い例:
int userAge = 25; // ユーザーの年齢
String userLastName = "Yamada"; // ユーザーの名字
💡ポイント
- 名詞を使う:
userAge
のように「何のデータか」を明確にする。 - 役割が伝わるよう役割を明示する:
例えば、a
ではなくuserAge
。
2. 動詞+名詞の組み合わせ
メソッド名には「何をするか」がわかるように、動詞を含めましょう。
悪い例:
void data() {
// 何をするメソッドか不明
}
良い例:
void fetchData() {
// データを取得する
}
💡ポイント
- 動詞を使って動作を明確にする:
fetchData
なら「データを取得する」ことがわかります。
- 一貫した命名規則を意識する
3. プロジェクト全体で一貫性を保つ
一貫性がある命名は、チーム開発でも大きなメリットをもたらします。
例:
- 変数:キャメルケース(例:
userAge
) - 定数:スネークケース大文字(例:
MAX_COUNT
) - メソッド:動詞で始める(例:
calculateSum
)
🛠️ リファクタリングの基本
1. リファクタリングとは?
リファクタリングとは、コードの動作を変えずに、読みやすさや修正のしやすさを向上させるために整理することです。例えば、変数名をわかりやすく変更したり、繰り返し処理をまとめることで、後からコードを読む人が「何をしているのか」をすぐに理解できるようになります。
読みにくいコードを整理したり、重複した処理をまとめたりすることで、保守性が向上します。
2. 簡単に始められるリファクタリング手法
手法1:変数名を見直す
命名規則を意識して、わかりやすい名前に変更しましょう。
Before:
int a = 100;
int b = 200;
System.out.println(a + b); // 何を足している?
After:
int productPrice = 100;
int shippingFee = 200;
System.out.println(productPrice + shippingFee); // 商品価格と送料を足している
手法2:重複コードをメソッド化
同じ処理を何度も書くと、修正が必要な場合にすべての箇所を直さなければならなくなり、手間が増えます。これをメソッドにまとめることで、1つのメソッドを修正するだけで済むようになり、作業が効率的になります。また、コードがスッキリして読みやすくなるというメリットもあります。
Before:
int a = 100;
int b = 200;
System.out.println("合計: " + (a + b));
int c = 50;
int d = 70;
System.out.println("合計: " + (c + d));
After:
void printSum(int x, int y) {
System.out.println("合計: " + (x + y));
}
printSum(100, 200);
printSum(50, 70);
手法3:コードの分割
1つのメソッドに多くの処理が詰め込まれている場合は、役割ごとに分けることで読みやすくなります。
Before:
void processOrder() {
System.out.println("注文を確認しています...");
System.out.println("在庫を確認しています...");
System.out.println("出荷処理を開始します...");
}
After:
void processOrder() {
checkOrder();
checkStock();
startShipping();
}
void checkOrder() {
System.out.println("注文を確認しています...");
}
void checkStock() {
System.out.println("在庫を確認しています...");
}
void startShipping() {
System.out.println("出荷処理を開始します...");
}
🎯 今日から実践できるチェックリスト
-
✅命名規則を守れているか?
→ 変数やメソッド名が何を表しているか、ひと言で説明できますか? -
✅重複コードがないか?
→ 同じ処理が複数回書かれていませんか?共通部分はメソッドにまとめましょう。 -
✅メソッドがシンプルか?
→ 1つのメソッドが多くの役割を担っていませんか?役割ごとに分割すると読みやすくなります。
まとめ
命名規則を守り、リファクタリングを取り入れることで、コードの可読性や保守性が驚くほど向上します。今日紹介したポイントを意識してコードを書くだけでも、未来の自分やチームの仲間が「このコードは分かりやすい!」と喜んでくれるはずです。まずは小さな一歩から始めてみましょう😊
Discussion