← 用語集一覧へ戻る

ソースコード

Source Code
プログラムの動作を人間が読める言語で記述したテキストのこと。HTMLやCSS、JavaScriptなど、あらゆるプログラミング言語で書かれたファイルがこれにあたる。
ソースコード (Source Code)

概要(サマリー)

ソースコードとは、プログラムの動作を人間が読める言語で記述したテキストのことである。「ソース」や「コード」と略して呼ばれることも多い。HTMLCSSJavaScriptPythonSQLなど、あらゆるプログラミング言語で書かれたファイルがこれにあたる。コンピュータはソースコードをそのまま理解できないため、コンパイルやインタープリタを通じて機械が実行できる形に変換してから動かす。AIにコードを生成・修正してもらうとき、そのやりとりの中心にあるのが常にソースコードだ。

詳細解説

ソースコードがコンピュータで動くまで

ソースコードはそのままでは実行できない。言語の種類によって動かし方が異なる。

コンパイル型言語(C・C++・Go など)
ソースコードを事前に機械語(バイナリ)へコンパイルし、その成果物を実行する。実行速度が速い。

インタープリタ型言語(Python・Ruby など)
ソースコードを1行ずつ解釈しながら実行する。事前コンパイルが不要で手軽に動かせる。

トランスパイル型(TypeScript → JavaScript など)
別の言語のソースコードに変換してから実行する。

良いコードと悪いコードの具体例

同じ処理でも、ソースコードの書き方によって読みやすさは大きく変わる。

悪い例(意味が伝わりにくい)

function calc(x, y) {
  return x * y * 0.1;
}

何を計算しているのか、0.1 が何を意味するのかが、コードを読んだだけではわからない。

良い例(意味が伝わる)

const TAX_RATE = 0.1;

function calcTaxAmount(price, quantity) {
  return price * quantity * TAX_RATE;
}

変数名・関数名・定数名が「何をするものか」を語っている。0.1 のようなマジックナンバーも除去されている。

DRY原則(Don't Repeat Yourself)

「同じ処理を重複して書かない」という原則をDRYと呼ぶ。

DRY違反の例

const priceA = 1000 * 1.1;
const priceB = 2000 * 1.1;
const priceC = 3000 * 1.1;

消費税率(1.1)が3ヶ所に散らばっており、税率が変わったときに全箇所を修正しなければならない。修正漏れがバグの原因になる。

DRY原則に従った例

const TAX_RATE = 1.1;

const priceA = 1000 * TAX_RATE;
const priceB = 2000 * TAX_RATE;
const priceC = 3000 * TAX_RATE;

税率を1ヶ所で管理することで、変更が一か所で済む。さらに「税込み計算」という処理が複数ある場合は関数化すると、より重複が減る。

ソースコードの品質とは

コードは「動くかどうか」だけでなく「読みやすいかどうか」も重要だ。良いソースコードの特徴として、以下が挙げられる。

  • 意味のある変数名・関数名がついている
  • マジックナンバーがなく、定数が適切に使われている
  • 同じ処理が重複していない(DRY原則)
  • コメントアウトが必要な箇所にだけある

コードは書くときよりも読まれる時間のほうが長い。将来の自分や他のメンバーが読んだときに意図が伝わることが、良いソースコードの条件といえる。

ソースコードの管理(バージョン管理)

ソースコードはGitなどのバージョン管理システムで履歴を管理するのが業界標準だ。バージョン管理を使わずに管理すると、以下のような問題が起きやすい。

  • 誰かが誤ってファイルを上書きし、以前の内容が消える
  • 「どの変更がバグを引き起こしたか」を追えない
  • チームで作業するとお互いの変更が衝突する

Gitを使うと変更履歴が記録されるため、「1週間前の状態に戻す」「この変更を加えたのは誰か」を確認できる。AIコーディングでも同様で、AIが生成したコードで問題が起きたとき、Gitで変更前の状態に戻せることが安全網になる。

AIコーディングとソースコード

AIは自然言語の指示からソースコードを生成できる。生成されたコードをそのまま使うのではなく、内容を理解してから使うことが重要だ。理解できないコードはデバッグもできないし、リファクタリングもできない。「AIが書いたから大丈夫」という過信は避けたい。

AIが生成するコードは動作するが、読みやすさが最適ではない場合もある。「変数名をわかりやすくして」「重複した処理を関数にまとめて」といった指示で、品質を後から改善してもらうことも有効な使い方だ。

よくある勘違い

ソースコードとバイナリ(実行ファイル)は同じもの?

異なる。ソースコードは人間が書いたテキストであり、バイナリ(.exe ファイルなど)はそれを機械が実行できる形に変換したものだ。ソースコードがなければ、バイナリを人間が読んで修正することはほぼ不可能だ。

コードをコピーすれば動く?

必ずしもそうではない。コードは環境(OSや言語バージョン・ライブラリ)に依存するため、自分の環境に合っていなければエラーが出ることがある。また、他者のコードには著作権が存在する場合もある。

短いコードのほうが良いコード?

一概にそうとは言えない。短くても意味が伝わらないコードより、少し長くても読みやすいコードのほうが保守しやすい。極端な短縮(minification)はWebの配信用途では使われるが、開発中のソースコードには適用すべきではない。

より詳しくAIに聞いてみよう

  • ソースコードとは何か、プログラミング未経験者でもわかるように説明してください。
  • コンパイル型・インタープリタ型・トランスパイル型の言語の違いを教えてください。
  • 良いソースコードとそうでないソースコードの違いを具体例で教えてください。
  • AIが生成したソースコードをレビューするときに確認すべきポイントを教えてください。
  • ソースコードをGitで管理するメリットと基本的な運用方法を教えてください。