aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/ja/project_coding-style.ssi
diff options
context:
space:
mode:
Diffstat (limited to 'markup/pod/live-manual/media/text/ja/project_coding-style.ssi')
-rw-r--r--markup/pod/live-manual/media/text/ja/project_coding-style.ssi140
1 files changed, 140 insertions, 0 deletions
diff --git a/markup/pod/live-manual/media/text/ja/project_coding-style.ssi b/markup/pod/live-manual/media/text/ja/project_coding-style.ssi
new file mode 100644
index 0000000..cc8c41a
--- /dev/null
+++ b/markup/pod/live-manual/media/text/ja/project_coding-style.ssi
@@ -0,0 +1,140 @@
+:B~ コーディングスタイル
+
+1~coding-style コーディングスタイル
+
+この章では Live システムで利用されているコーディングスタイルについて述べます。
+
+2~ 互換性
+
+_* Bash シェル固有の書式や記号を使わないでください。例えば配列構造の利用など
+
+_* POSIX のサブセットだけを使ってください - 例えば `foo` よりも $(foo) を使ってください。
+
+_* 'sh -n' と 'checkbashisms' によりスクリプトをチェックできます。
+
+_* シェルコードが全て確実に 'set -e' で動作するようにしてください。
+
+2~ インデント
+
+_* 常にスペースよりもタブを使います。
+
+2~ 改行
+
+_* 通常、行は最大で80文字までです。
+
+_* 「Linux 式」で改行します:
+
+悪い例:
+
+code{
+
+ if foo; then
+ bar
+ fi
+
+}code
+
+良い例:
+
+code{
+
+ if foo
+ then
+ bar
+ fi
+
+}code
+
+_* 関数についても同様です:
+
+悪い例:
+
+code{
+
+ Foo () {
+ bar
+ }
+
+}code
+
+良い例:
+
+code{
+
+ Foo ()
+ {
+ bar
+ }
+
+}code
+
+2~ 変数
+
+_* 変数は常に大文字です。
+
+_* live-build で利用する変数は先頭を常に #{LB_}# で始めます。
+
+_* live-build 内部の一時変数は #{\_LB_}# で始めます。
+
+_* live-build のローカル変数は #{\_\_LB_}# で始めます。
+
+_* live-config 中のブートパラメータにつながる変数は #{LIVE_}# で始めます。
+
+_* live-config 中の他の変数は全て #{_}# で始めます。
+
+_* 変数は大括弧「{}」で囲みます。例えば #{$FOO}# ではなく #{${FOO}}# とします。
+
+_* 空白文字の可能性を考慮し、常に引用符を使って変数を保護します: #{${FOO}}# ではなく #{"${FOO}"}# とします。
+
+_* 一貫性を保つため、変数に値を割り当てるときは常に引用符を使います:
+
+悪い例:
+
+code{
+
+ FOO=bar
+
+}code
+
+良い例:
+
+code{
+
+ FOO="bar"
+
+}code
+
+_* 複数の変数を使うときは表現全体を引用符で囲みます:
+
+悪い例:
+
+code{
+
+ if [ -f "${FOO}"/foo/"${BAR}"/bar ]
+ then
+ foobar
+ fi
+
+}code
+
+良い例:
+
+code{
+
+ if [ -f "${FOO}/foo/${BAR}/bar" ]
+ then
+ foobar
+ fi
+
+}code
+
+2~ その他
+
+_* sed を呼び出すときは区切り文字に「#{|}#」を使います。例えば「#{sed -e 's|foo|bar|'}#」
+
+_* 比較やテストには #{test}# コマンドを使わず、「#{[}#」や「#{]}#」を使います。例えば「#{if [ -x /bin/foo ];
+...}#」を使い、「#{if test -x /bin/foo; ...}#」は使いません。
+
+_* #{test}# よりも #{case}# の方が読みやすく実行速度も早いため、可能な部分ではこちらを使います。
+
+_* ユーザの環境と混ざる可能性を限定するため、関数の名前には大文字を使います。