コードは書く時間より読まれる時間のほうが圧倒的に長いもの。半年後の自分やチームメンバーが迷わず読めるコードには、共通する原則があります。今日から実践できる7つを、具体例つきで紹介します。
ソフトウェアは一度書いて終わりではなく、修正・拡張を繰り返します。読みにくいコードはバグの温床になり、変更コストを跳ね上げます。「動く」だけでなく「読める」ことが、プロのコードの条件です。
変数名・関数名は、コメントがなくても意図が伝わるものに。省略しすぎは禁物です。
// ❌ 何を表すか不明
let d = 30;
// ✅ 一目で分かる
let daysUntilExpiry = 30;
1つの関数に処理を詰め込みすぎない。「〜して、〜して、〜する」なら分割のサインです。関数名がandを含むなら要注意。
条件をネストするより、当てはまらないケースを先に返すと本筋が読みやすくなります。
// ❌ 深いネスト
function f(user) {
if (user) {
if (user.active) {
return doSomething();
}
}
}
// ✅ 早期return
function f(user) {
if (!user) return;
if (!user.active) return;
return doSomething();
}
コード中に突然出てくる数値には名前を付けます。意味と変更箇所が明確になります。
const MAX_RETRY = 3;
if (count > MAX_RETRY) { ... }
コピペで同じロジックが増えたら、関数にまとめましょう。修正が1か所で済み、直し忘れを防げます。ただし「たまたま似ているだけ」を無理にまとめるのは逆効果です。
「何をしているか」はコードを読めば分かります。コメントに書くべきは「なぜそうしたのか」という背景です。
// ❌ 見れば分かる
i = i + 1; // iに1を足す
// ✅ 背景を残す
// 仕様上、月は1始まりなので +1 して調整
month = date.getMonth() + 1;
命名規則・インデント・書き方をプロジェクト全体で揃えます。多少好みと違っても、周囲のコードに合わせるのが読み手への配慮です。フォーマッタ(Prettier など)の導入も有効です。
読みやすいコードは才能ではなく習慣です。まずは「名前」「関数の粒度」「早期return」の3つから意識するだけでも、コードの見通しは大きく改善します。