OSDN Git Service

[fix] : FIxed latest file path.
[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 ```bash
31 # Bad
32 if [[ "${var}" = "hoge" ]]; then
33     echo "HogeHoge"
34 fi
35
36 # Good
37 [[ "${var}" = "hoge" ]] && echo "HogeHoge"
38 ```
39 - `case`の際はなるべくインデントを揃えて下さい
40
41
42 ### その他
43 - 極力相対パスを使用しない
44 - ファイルパスは必ず`""`で囲む
45
46 ## プルリクエスト
47 日本語もしくは英語で内容を書いて下さい。内容とは具体的に以下のものを指します。
48 - どのような機能を追加するか(問題を修正するのか)
49 - 現在確認されている問題(その対処方法も書ければ)
50 - 参考にした文献について
51 - 動作を確認した環境や開発環境