Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

チームでRuby on Railsを使ったWebシステムを開発するなら、コーディング規約に従ったプログラミングを求められます。この場合のコーディング規約とは面倒な規則ではありません。チームメンバーに見せたり後から見直しする際に読み易くしたり、ミスに気が付きやすくするためのルールです。うまく活用すれば効率よくプログラミングできます。

今回はコーディング規約の基本とRubyのプログラミングでコーディング規約にしたいポイントについて解説します。

そもそもコーディング規約とは


Rubyには公式のコーディング規約はありませんが、他の人のプログラムを見る機会の多いチームで開発するプロジェクトではコーディング規約は必須です。ではそもそもコーディング規約とは何でしょうか。次からコーディング規約の基本について解説します。

プログラマが守るルール

コーディング規約とは、プログラムを作る際にプログラマに守らせるルールを集めたものです。なおプログラミング言語は、コンピューターが処理する内容を人が読み書きできるようにしたものです。そしてプログラミングの文法さえ守っていれば、自由に記述できます。

プログラミング言語によっては、長いプログラムを1行で書くことが可能です。しかし、それではメンテナンスができません。他の人がそのプログラムを読み、その一部を書き換えられるように、一定のルールが必要です。そして、そのようなプログラマに守らせたい、プログラミングのルールがコーディング規約です。

コーディング規約の目的とは

コーディング規約を決めている会社がたくさんありますが、その規約にはプログラマが守るべきルールが幾つも記載されています。では、なぜこれだけのルールが必要なのでしょうか。それはコーディング規約が、プログラムの保守性を保ち、プログラムの品質の一定に保つために必要とされるからです。

例えば自分が日常的に書いているプログラムのフォーマットと同じフォーマットでチームメンバーが書いていれば、メンバーが書いたコードをレビューしたり、修正する時間を短縮できます。さらに記述ミスに気が付きやすい書き方をしていれば、プログラムを書いている最中に気付くことも可能です。

そのためチームでソフトウェアを開発する場合、コーディング規約に従ってコードを記述するのが常識と言えるでしょう。

Rubyのコーディング規約とは

プログラミング言語によっては、その文法にコーディング規約が組み込まれており、そのようなプログラミング言語を使えば自然にコーディング規約に従ったプログラムを作れます。しかし、Rubyにはそのような仕組みはありません。

プロジェクトにRubyを使う場合、プログラマがそれぞれが所属する組織の決めたコーディング規約に従う必要があります。もし、自分の職場で文書化されたコーディング規約があれば、それに従ってください。

なお、Rubyの公式なコーディング規約はありませんが、推奨されているコーディング規約ならあります。もし、明確なコーディング規約の無い組織で働く場合は、最低限、推奨されているコーディング規約に従いましょう。

ポテパンダの一言メモ

Rubyのコーディング規約に興味のある方は、下記のサイトを参考にしてください。
コーディング規約

Rubyコーディング規約の概要


Rubyには公式なコーディング規約はありませんが、Rubyの普及と発展のために活動しているRuby Associationでは、参考となるコーディング規約を紹介しています。その参考となるコーディング規約の概要について紹介します。

読みやすい書き方

コーディング規約としてよく用いられるルールが読みやすい書き方に関する規約です。繰り返し処理やif構文でインデントを設定したり、演算子の前後などにスペースを挿入し、区切りとなる場所に改行を入れるといった、書き方がこれに該当します。

例えば下記の例を見てください。Rubyのコーディング規約を無視したプログラムの例と同じ処理をRubyのコーディング規約を考慮して書いたプログラムの例です。読みやすいと感じるのではないでしょうか。

Rubyのコーディング規約を無視したプログラムの例

time.each do |item|
msg="time: "+String(item)
if(item==max)then puts(msg+" MAX") else puts(msg) end
end

Rubyのコーディング規約を考慮したプログラムの例

time.each do |item|
  msg = "time: " + String(item)
  if( item == max ) then
    puts(msg + " MAX")
  else
    puts(msg)
  end
end

クラスやメソッドの命名規則

チームメンバーの書いたプログラムを読んで際、クラス名や変数名が一目で区別できれば、書かれた内容を追うのも容易です。そのためRubyのコーディング規約では、クラスやメソッドの命名規則も推奨しています。

具体的には次の命名規則を検討してください。

ミスを防ぐための工夫

プログラムを書いていると、自分の意図した使われ方では正常に動くものの、意図しない使われ方をされると誤動作する処理を書いてしまうことがよくあります。そして、プログラムコードの書き方を工夫するだけで、そういったミスに気が付くケースもあります。

そのようなプログラミングでミスを防ぐための工夫も、コーディング規約の重要な役割です。先ほど紹介したスペースや改行を使うことも、プログラムを読みやすくすることでミスを見つけやすくする工夫の1つです。さらに、次のようなことをコーディング規約として決めるケースがあります。

例えば、for構文を使わずにeachメソッドなどを使う、条件によってif構文とunless構文を使い分ける、3項演算子をネストしないなど、コーディング規約として検討してください。

Rubyのコーディング規約を使ってもらうには


Rubyに限らずチームでWebシステムを開発するなら、コーディング規約を守ることが大事です。とはいえ、単に使ったから守れと命令しても、なかなか守ってもらえません。そこでRubyのコーディング規約を使ってもらうために、組織的にやってほしいことを紹介します。

コーディング規約を使う理由を示す

ルールを守るのは、そのルールが必要だとみんなが理解しているからです。これはコーディング規約を守ってもらう場合にも言えることです。

会社の決まり事として、または上司が決めたこととして、チームメンバーに守れと命令しても、なぜ守らなければならないか理解できなければ、必ず守らない人が現れます。もしコーディング規約を作るのであれば、なぜ、それが必要なのかをメンバーに理解してもらいましょう。

Rubyのスタイルに合っているか

プログラミング言語やフレームワークにより、コーディング規約が少しずつ違います。そのため違うプログラミング言語で利用されているコーディング規約がRuby on Railsによるシステム開発でも使えるとは限りません。場合によっては無駄なことをさせられている、と思われてしまいます。

そのためRuby on Railsを使うプロジェクトでは、Rubyのプログラミングに合ったコーディング規約でなければなりません。また、人に守らせるだけではなく、エディタなどに組み込むことで、コーディング規約に合っているかを自動でチェックできるものを目指しましょう。

見直しされていくもの

Rubyはまだ改善が継続されており、プログラミングに使うツールも毎年のように新しいものが登場しています。このようにプログラミング環境は変化が早く、もし、古い開発環境を前提に作られたコーディング規約を今も使っているのなら、今の状況に合っていないかもしれません。

コーディング規約とは、運用しながら常に見直し、今のプログラミングスタイルに合わせて変えていくものです。もし今使っているコーディング規約に疑問を感じたらチームで相談し、より良いコーディング規約に変えていける組織にしていきましょう。

まとめ


今回解説したようにコーディング規約を設定し、それをも守ってRubyのプログラムを書くことで、読みやすくミスを避けられる記述が可能です。また、チームメンバーの作ったプログラムを参考にしたり、レビューなどでチェックする際にも効果的です。ぜひ、コーディング規約を利用してください。

なお、Rubyは今も改善が続けられており、毎年のように新しいプログラミング環境が提案されています。もし新しい技術を導入したら、それに合わせてコーディング規約の見直しも必要です。Rubyのプログラミングにとって何が良いかという視点でコーディング規約を見直せる職場にしていきましょう。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。