「動くコード」を書くだけでなく、「読みやすいコード」を書くことはエンジニアにとって重要なスキルです。チーム開発では、他の人がコードを理解しやすいかどうかが生産性に大きく影響します。
クリーンコードの基本原則
分かりやすい命名をする
変数名や関数名は、その役割を明確に伝えるものにしましょう。
// 悪い例
const d = new Date();
const x = users.filter(u => u.a > 18);
// 良い例
const currentDate = new Date();
const adultUsers = users.filter(user => user.age > 18);
短い変数名は一見効率的に見えますが、後から読んだときに意味を推測する必要があり、結果的に時間がかかります。命名の良し悪しはデザインパターンの理解にもつながる基礎スキルです。
関数は小さく保つ
一つの関数は一つのことだけを行うようにします。目安として、関数が20行を超えたら分割を検討しましょう。
// 長い関数を分割する
function processOrder(order) {
validateOrder(order);
const total = calculateTotal(order.items);
const tax = calculateTax(total);
return createInvoice(order, total, tax);
}
早期リターンを活用する
ネストが深くなると、コードの流れが追いにくくなります。条件を満たさない場合に早めにreturnすることで、読みやすさが向上します。
// ネストが深い例
function getDiscount(user) {
if (user) {
if (user.isPremium) {
if (user.purchaseCount > 10) {
return 0.2;
}
}
}
return 0;
}
// 早期リターンで改善
function getDiscount(user) {
if (!user) return 0;
if (!user.isPremium) return 0;
if (user.purchaseCount <= 10) return 0;
return 0.2;
}
コメントについて
コメントは「なぜそうしたか」を書くことが大切です。「何をしているか」はコード自体で表現しましょう。コードを見れば分かることをコメントに書くのは冗長です。
キャリアロードマップも参考にしてください。
// 悪い例:何をしているか書いている
// ユーザーの年齢を1増やす
user.age += 1;
// 良い例:なぜそうしたか書いている
// 誕生日のタイミングで年齢を更新(バッチ処理のため翌日実行)
user.age += 1;
今日から実践できること
- 変数名・関数名を省略せずに書く
- 1つの関数に複数の処理を詰め込まない
- ネストを浅くする(早期リターン)
- 不要なコメントを削除し、必要なコメントを追加する
コード品質を保つためには、Git・GitHubを使ったバージョン管理や、アジャイル開発のプラクティスも組み合わせると効果的です。
関連記事:コードレビューのマナーやGit・GitHub入門もあわせて読むと、チーム開発のスキルが向上します。
まとめ
きれいなコードは、一朝一夕で書けるようになるものではありません。日頃から意識して練習を重ねることが大切です。エンジニア技術書おすすめで紹介している書籍も参考にしてみてください。