LoginSignup
4
8

More than 5 years have passed since last update.

学生必見!チーム開発する前にやるべき!コーディング規約!

Last updated at Posted at 2017-07-07

こんにちは。新卒1年目のuekiです。
今回は学生時代にチーム開発を始める前にやっておけば良かったなと感じた、
コーディング規約について弊社の規約を一部紹介します。
学生の皆さんには是非一度目を通していただき、チーム開発する前に再度見直してもらえたらと思います。

コーディング規約とは

プログラムの書き方を統一するためのルールです。

コーディング規約を作る目的、メリット・デメリット

これらのサイトに書いてます。

コーディング規約
ベストなコーディング規約の作り方

以下引用です。

ソースコードに統一性が出て可読性が高まる。
バグの発生源となりやすいコーディングを防止することで保守性が高まる。

コーディング規約例

ここで弊社のコーディング規約を一部紹介します。
これらがベストな規約とは限らないので、自分たちのチームに合うよう調整してみてください。

スペースの開け方、改行

if ($a == 1) {
} elseif ($b == 1) {
}
// 括弧の前後にスペース、比較演算子の前後にもスペース、ifと開始中括弧は同一行で。

for ($i = 1; $i < 9; ++$i) {
}
// for文の場合は、セミコロンの後に空白
// $i++より++$iの方が処理スピードが速い

function hoge($val)
{
  $val *= $val;

  return $val;
}
// returnの前には改行をいれる

一行の文字数が長くなりすぎる場合は適宜折り返しましょう(目安120文字くらい)

× $voiceQuery = TUserEnqueteResultsTable::getInstance()->createQuery('tuer')->where('tuer.decided_cooperation_id = ?', $coopId)->andWhere('tuer.show_type = ?', 1)->andWhere('tuer.show_site_code = ?', 'hikkoshizamurai')->orderBy('tuer.release_date DESC, tuer.show_dateDESC')->limit(1);


○ $voiceQuery = TUserEnqueteResultsTable::getInstance()
                ->createQuery('tuer')
                ->where('tuer.decided_cooperation_id = ?', $coopId)
                ->andWhere('tuer.show_type = ?', 1)
                ->andWhere('tuer.show_site_code = ?', 'hikkoshizamurai')
                ->orderBy('tuer.release_date DESC, tuer.show_dateDESC')
                ->limit(1);

インデントはスペース2つとする

// ○ スペース2つ
function hoge($val)
{
  $val = $val * 2;

  return $val;
}

// × スペース4つ (自分たちのチームに合った方を選択してください。
function hoge($val)
{
    $val = $val * 2;

    return $val;
}

変数名は最初小文字で、接続する単語の先頭は大文字(キャメルケース)

$variableName

定数名は全て大文字で、接続する単語の先頭に_(アンダーバー)を付ける

CONSTANT_NAME

中カッコなしのifやforは使わない(処理追加時のカッコ足し忘れ防止)

× if ($a == "abc") $b = 0;

○ if ($a == "abc") { $b = 0; }

○
if ($a == "abc") {
  $b = 0;  
}

最後に

各プログラミング言語やフレームワークのドキュメントにコーディング規約が載っていたりするので、参考にしてみてください。

PHP

Basic Coding Standard
Coding Style Guide
Symfony

Ruby

Ruby
Rails

4
8
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8