ディレクトリ名srcとかの謎と作法

githubで晒してあるソースを見たりするときに気になっていたことがあったんで
話の流れに身を任せつつ後ろの席のハイパーエンジニアに聞いてみた。

jQueryのリポジトリとか見ると

github-jquery

ソースがsrcというディレクトリに入れてある。なにゆえsrcなのか?
結構このsrcというディレクトリに入れているケースは多いのに
ぐぐってもコレといった記事は見つからないから、
漠然と「そういう規則か何かがあるんだろう」などと思っていたのだけど、
単純にエンジニアにお馴染みの作法とのこと。

ディレクトリ篇

  • bin binary
    プロジェクトで使用する、各種コマンド置き場
  • build
    最終的にビルドして自動生成された成果物置き場
    以下2つもほぼ同じ意味:

    • dist
      distribution 配付するもの
    • dest
      destination 出力されたもの
  • source
    ソースコード
    srcと省略する方が多い
  • test
    テスト
  • docs
    ドキュメント
  • demo
    デモ

ついでによく見るファイル篇

  • README
    説明書き。githubでは必須。
  • LICENSE
    ライセンス。
  • package.*
    パッケージ管理用ファイル。
  • Makefile
    コンパイル&リンクするのを自動化してくれるツールの設定ファイル

ピリオドが先頭についているファイル

ピリオドから始まるファイル名は隠しファイルと思うのが一般的だが、プログラミング界隈では何かの設定ファイルであることが多い。

  • .babelrc
    Babelの設定ファイル。
    新しい書き方をしたJavaScriptを未対応ブラウザでも動くように変換してくれる
  • .browserslistrc
    browserslistの設定ファイル。
    AutoprefixiserやBabelのブラウザ対応範囲を設定できる
  • .editorconfig
    EditorConfigの設定ファイル。
    対応するエディタの挙動を統一できる
  • .eslintignore
    ESlintの設定ファイル。こちらはESlintを動作させないファイルについての設定をする
  • .eslintrc
    ESlintの設定ファイル。
    各種ソースコードの検証ツール
  • .gitattributes
    Gitの設定ファイル。ファイルの扱い方についての設定をする
  • .gitignore
    Gitの設定ファイル。バージョン管理に含めないファイルやディレクトリの設定をする
    あらゆるプログラミング言語におけるgitignore設定を網羅したGitHub公式のリポジトリがある
  • .nvmrc
    Node.jsのバージョン設定ファイル。nvm を使ってバージョン切り替えていたらこれも追加しておくと良い
    書き方は16.3のような数値の他にlts指定などもできる
  • .stylelintignore
    stylelintの設定ファイル。こちらはstylelintを動作させないファイルについての設定をする
  • .stylelintrc
    stylelintの設定ファイル。
    CSSに特化した検証ツール
  • .prettierignore
    prettierの設定ファイル。こちらはprettierを動作させないファイルについての設定をする
  • .prettierrc
    prettierの設定ファイル。
    ソースコードを読みやすいフォーマットに整形するツール

ソースコードをsrcに入れるというのは当たり前の事過ぎるから
わざわざ解説している記事もないんだろうと言っていた。
スタイルシートをcssに、JavaScriptのファイルをjsに入れるようなものだとすれば、なるほど説明はしませんな……。

ひとくくりにエンジニアといってみたが、教えてくれたのはJavaエンジニアである。
srcディレクトリにソースを入れ、ビルド結果をbuildディレクトリに入れるのは「コンパイルする言語ではお馴染みの作法」でも、コンパイル不要だとそうでもない。
EclipseなんかでJavaの新規プロジェクト作るとデフォルトでsrcというフォルダが作られるがPythonやRubyでは作られない。
githubで漁ってみるとRubyの場合はsrcではなくappディレクトリを使っていることが多いように見える。

フロント的にsrcといったらimgタグの属性です(キリッ で…どことなく違和感があるが、略さなければソースだし
最近はJavaScriptやCSSでもコンパイルという概念が出てくるようになったので、いざというときはドヤ顔で使いたい。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください