OSDN Git Service

[update] : Added about pr and issues(en).
[alterlinux/alterlinux.git] / docs / CONTRIBUTING.md
1 # 貢献する方法 -日本語-
2
3 ## コーディング規約
4
5 ### 全体
6 - なるべく`bash`のビルドインコマンドを使用する
7 - 外部コマンドを使用する場合は依存パッケージを追加する(極力使用しないでください)
8
9 ### 出力
10 - エラーメッセージは全て`STDERR`に出力する
11 - メッセージ用の関数がある場合はその関数を使用する
12 - 最小限の出力とし、冗長な出力は引数で有効化された場合のみに許可する
13
14 ### 見た目
15 - インデントはスペース4つとする
16 - 引数の多いコマンド(`xorriso`など)やパイプを多用する場合は`\`で改行する
17 - コードにTodoを書く場合は日付とユーザー名を書く
18
19 ### 変数や関数
20 - 全ての関数に概要や使い方にコメントを書く
21 - 関数の定義は`function`を付けず、`my_func () {}`を使用する
22 - 全ての変数は`${hoge}`のように括弧を使用する
23 - 関数内でしか使用しない変数は必ず`local`で宣言する
24 - コマンド置き換えは`` `echo hoge` ``ではなく`$(echo hoge)`を使用する
25 - 算術式展開は`$(( m + n ))`を使用する
26
27 ### if、for、test、case、while
28 - `test`コマンドは必ず`[[`を使用する
29 - `do`や`then`などは`while`、`for`、`if`と同じ行に書く
30 - `case`の際はなるべくインデントを揃える
31
32 ### 例
33 ```bash
34 # Usage: test_hoge <str>
35 test_hoge () {
36     local _var="${1}"
37     if [[ "${var}" = "hoge" ]]; then
38         echo "${var} is hoge"
39         return 0
40     else
41         echo "${var} is not hoge"
42         return 1
43     fi
44 }
45 ```
46
47
48 ### その他
49 - 極力相対パスを使用しない
50 - ファイルパスは必ず`""`で囲む
51
52 ## Issues
53 Issueを送る際は以下の情報を記述して下さい。
54 - インストールに使用したイメージファイルへのURL
55 - 問題が発生した環境
56 - どのようなことを行ったか
57 - スクリーンショットやログ等
58 - ビルドに問題が発生した際は作業ディレクトリにある`build_options`
59
60 ## プルリクエスト
61 日本語もしくは英語で内容を書いて下さい。内容とは具体的に以下のものを指します。
62 - どのような機能を追加するか(問題を修正するのか)
63 - 現在確認されている問題(その対処方法も書ければ)
64 - 参考にした文献について
65 - 動作を確認した環境や開発環境