ソースコードとは何か
ソースコードは、プログラムの動作を、人が読み書きしやすいプログラミング言語で表したものです。画面、計算、通信、保存などの振る舞いを、決められた構文に沿って記述します。
普段「コード」と呼んでいるものの中心ですが、プロジェクトに必要なすべてのファイルがソースコードとは限りません。
一文でいうと
ソースコードとは、プログラムを作り、直し、再生成するための元になる記述です。
GNU C Language Manualでは、Cのソースファイルをコンパイルし、オブジェクトファイルを経て実行ファイルにする流れが説明されています。言語や実行環境によって変換方法は違っても、開発者が変更する元と、実行・配布に使う成果物を分ける考え方は共通します。
個人開発のどこで登場するか
機能追加、不具合修正、レビュー、テスト、ビルドの入力として登場します。
ソースコードはGitで変更履歴を残せます。いつ、なぜ変えたかをコミットと結び付けると、問題が入った範囲を調べやすくなります。
一つの変更が動くまで
ボタンの文言を変える例で考えます。
対象のソースファイルを見つける
コードを編集して保存する
開発環境で表示を確認する
テストとビルドを行う
差分を確認してコミットする
対象の版をデプロイする
本番URLで反映を確認する
ソースを保存しただけでは、ビルド済みの成果物や本番環境は自動的に変わりません。どの工程が変更を取り込むかを把握します。
実行ファイルやリポジトリと区別する
ソースコード:人が保守するプログラムの元の記述
生成物:変換や自動生成によって作られたファイル
実行ファイル:OSなどが実行できる形式のファイル
リポジトリ:ソースコードに加え、設定、文書、テストなどを履歴とともに管理する場所
画像、文章、設定も製品には必要ですが、必ずしもソースコードではありません。一方、ビルド手順やデータベース変更を表すコードは、画面に見えなくても重要なソースです。
生成物と秘密情報を混ぜない
生成されたファイルを直接直すと、次のビルドで変更が消えることがあります。まず生成元を見つけ、元のソースを変更します。
また、ソースコードへAPIキーやパスワードを直接書くと、Git履歴、レビュー画面、配布物へ残り得ます。
秘密値はシークレットとは何かとして別に管理する
生成物とキャッシュは必要に応じて
.gitignoreへ入れる外部のコードを使う前にライセンスと更新元を確認する
AIが生成したコードも差分、依存関係、入出力を自分で確認する
「動いた」だけで採用せず、後から安全に直せる形で残します。
次に読む記事
ソースから成果物を作る工程はビルドとは何か、履歴を管理する場所はリポジトリとは何かへ進みます。変更を記録する仕組みはGitとは何かで確認できます。