1. ホーム
  2. スクリプト・コラム
  3. ルビートピックス

GitHubが提唱するRubyコードの書き方まとめ

2022-01-04 05:54:38

ソースコードのレイアウトの観点から。
1. すべてのソースファイルはUTF-8でエンコードされています。
2. 2. インデントにスペース2個を使用する
3, Unix形式の改行( \n), Windows形式の改行( \r) を使用する。git config --global core.autocrlf true でWindowsスタイルの改行を生成しないようにすることができます。
4. コードの可読性を高めるため、','、';'、演算子(指数演算以外)、'{'、'}'の前後に空白を入れる。
5. 5. '(', ')', '[', ']' の記号の後にスペースを入れないでください。
6、CaseとWhenが同じコードレベルである。
7. 2つのDefを区切るには空白行を使用します。
8. 複数のパラメータを持つメソッドで長くなりすぎる場合、以下のように処理します。

def send_mail(source) 
 Mailer.deliver(to: '[email protected]', 
         from: '[email protected]', 
         subject: 'Important message', 
         body: source.text) 
end 



9、Rdoc生産システムAPIドキュメントを使用し、コメントとdefの間に空行がないようにする。
10、1行の行数を80行以下にする
11. 11.各行の末尾に空白文字がないこと。

構文について。
1. メソッドは、引数がない場合は括弧を省略し、引数がある場合は括弧を使用します。
2. 必要なければforを使わず、eachを使ってループを行う
3. 使用しないでください
4. 三項演算を使う if, else の代わりに : を使う。
5, if else? : 演算子の内部で使用しないでください。
6, when X then ... を使用する。というのも、when x ......はruby 1.9で削除されたからです。
7. 7. ブーリアン演算には && と || を、フロー制御には and, or を使用する。
8.unlessとelseを一緒に使わない。
9、条件は代入操作を伴わない限り、囲む必要はない
10. 複数行のステートメントブロックを{}で囲む。
11. を使う必要がないときは、リターンを使わないでください。
12、2行のコードをつなぐのに'˶'を使わないでください。
13、変数の初期化には ||= を使用し、ブール型変数の初期化には使用しない。
14. Perlスタイルの変数名、$1-9などを使用しない
15、Ruby実行時に、"-w"を追加して、コードの悪い部分をプロンプトする
16. Ruby 1.9の構文でラムダとハッシュを書く

命名規則です。
1. 変数やメソッドの名前には小文字の+ "_"を使用します。
2、モジュールとクラスの名称には、頭文字の大文字を使用する。
3. 3. 定数名には全角文字 + "_"を使用します。
4、戻り値がブール値のメソッドに"?"の接尾辞をつけた場合
5、一部の潜在的にリスクの高いメソッドについては、終了、自己または変数の変更など、"!"のサフィックスを追加します。

コメント
1. 1のコメントで、コードは、そのコメントで

クラスとなります。
1. リスコフ原則に準拠し、子クラスは親クラスを置き換えることができる。
2、SOLID(単一責任、オープンクローズ、リスコフ置換、インターフェース分離、依存関係逆転)を行うクラスにするようにする。
3. 各クラスにto_sメソッドを書き、クラスの状態を確認する。
4. attr 系のメソッドを使用して、クラス属性のアクセス制御を行う。
5. 5. 意味のあるインスタンスの初期化を行うために、新しいファクトリーメソッドの追加を検討する。
6. 継承の代わりにDuckTypingを使用する。動的言語の性質上、ポリモーフィズムはもはや必要ない。
7. グローバル変数である@@の使用は避けてください。
8、アクセス状況に応じて、アクセス制御文字を賢く使う。
9. クラス名を使わず、self を使ってシングルトンメソッドを定義する。

例外です。
1. 一部の例外を見逃さない
2、例外を利用してプロセス制御を行わない。
3、例外の基底クラスであるExceptionをキャッチしないこと。
4. 例外の種類の適用範囲に従って例外を並べる
5. すべての外部リソースを例外捕捉モジュールに入れる
6. 自分で例外を作るより、ライブラリに付属している例外を使う方が良い

設定します。
1. 文字列配列を作成するために%wを使用することを好む
2. オンデマンドで配列を作成する
3、Setを使ってListの重複要素を削除する。
4、ハッシュキーにはStringではなくSymbolを使用し、Mutableオブジェクトをハッシュキーに使用しない。
5. リストを変更しながら同時に反復処理しないこと。

文字列です。
1. "#{String}を使用する。String+Stringより#{string}"の方が良い。
2. 2. #{} 形式の文字列を使用しない場合は '' を使用します。
3. インスタンス変数の連結の際に{}を使用しないでください。
4. 文字列の連結には + の代わりに << を使用します。

正規表現
1. トラッキングを容易にするため、$1-9の代わりに名前付きグループを使用する。
2. 2. '^','$' は行全体のマッチングを意味し、文字列全体のマッチングは '\A','\Z' を使用する必要があります。
3. 3. 複雑な正規表現を修正するために 'x' 修飾子を使用して可読性を高めますが、空白の削除に注意します。

の構文。
1. より多くの%wを使用する
2、文字列のインライン表現が必要な場合は%()を使用する。
3. 正規表現に複数の / がある場合は %r を使用します。
4. 4. %q , %Q, %x, %W, %s これらの文字は使用しないでください。
5. の後の区切り文字として()を使用することを推奨します。