GitHubが提唱するRubyコードの書き方まとめ
ソースコードのレイアウトの観点から。
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. の後の区切り文字として()を使用することを推奨します。
関連
-
redisクラスタ構築のチュートリアルと発生した問題
-
Rubyにおけるフックメソッドとメソッド呼び出しへのフックの追加例
-
Ruby on RailsのWebプロジェクト構築のためのシンプルガイド
-
Rubyの文法と言語機能のまとめ
-
Rubyのオブジェクト指向のアプローチによるプログラミング学習雑学
-
Rubyのデザインパターン。プログラミングにおけるストラテジーパターンの活用
-
RubyのSimple FactoryパターンとFactory Methodパターンを利用する
-
RubyプログラムにおけるXMLファイルの作成と解析のための方法
-
ブログのスパムメッセージを簡単にブロックする方法
-
Rubyプログラミングにおけるネーミングスタイルガイド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Rubyの並列処理とグローバルロック
-
Rubyブロックチュートリアル
-
RubyのプログラムでXML形式のデータをパースするためにREXMLを呼び出す例
-
Rubyのデザインパターン。アダプタパターン実践ガイド
-
デザインパターンのうち、ProxyパターンとDecorativeパターンを使ったRubyのコード例
-
Ruby on RailsでPing ++プラットフォームでの決済を実現
-
Ruby on Railsのルーティング設定に関するいくつかのアドバイス
-
Rubyでの例外処理コードの記述例
-
Rubyバージョン管理ツールRVMのインストールとチュートリアルの使用方法
-
Ruby on Railsのインストールに関する簡潔で迅速なガイド