この記事は5分50秒で読めます。

こんにちは、IDSの波多野です。

開発を行っている皆さんは、読みやすくコーディングを行うことを心がけていますでしょうか?
特に複数人で開発を行う場合、可読性の高いコードを書くことは必要不可欠です。

EC-CUBE2系の場合

EC-CUBE 2系の場合、コーディング規約は下記ページで定義されています。

以下、上記コーディング規約ページ(2020/11/17時点)からいくつか抜粋した内容です。

PHPクラス名

  • 区切り文字としてはアンダースコア(_)を使用する.
  • クラス名称の先頭には, 大文字でその種類を表す Prefix を付加する
Prefix 種類
SC, GC 1つのサイト内で共有するクラス (他のクラスから呼ばれる) SC_Customer.php
LC 1つのソースファイル内で使用するクラス (通常他のクラスから呼ばれない) LC_Page_Abouts.php

関数名

  • 関数名の先頭には, 小文字でその種類を表す Prefix を付加する。
    • クラス名: LC_*
      • private または protected を意図する場合、Prefix「lf」を省略できる。(Prefix の付加がない場合、「lf」相当とみなす。)
      • public を意図する場合、Prefix「sf」を省略できない。
    • クラス名: SC_*, GC_*
      • public を意図するメソッドの場合、Prefix「sf」を省略できる。(Prefix の付加がない場合、「sf」相当とみなす。)
      • private または protected を意図する場合、Prefix「lf」を省略できない。
  • 名称が複数の単語からなる場合, それぞれの単語の先頭を大文字にする
  • 関数名は, Prefix + 動詞 + 対象 を原則とする

PHPコード

  • 改行コードは, 基本的に LF を使用する
    • 使用する Subversion クライアントによっては, svn add を実行した際に, OS 元来の改行コードがリポジトリに反映されてしまう場合があるため, svn propset で svn:eol-style=LF を設定しておくのが望ましい.
  • 終了タグの後に必ず LF (UNIX の改行コード)を1つ入れる
  • 余分な空行, 行末の空白は極力削除する
    • Eclipse でコーディングする場合, AnyEdit プラグイン を使用すると自動的にやってくれる
  • クラス定義, 関数定義の後, 括弧の後で改行する
  • 80 文字を目安に改行する.
<?php
class LC_Page_Abouts
{
 
    function process()
    {
        // some logic.
    }
}

文字列

長くなる文字列は分割し, “.” で結合する.

<?php
$sql = 'SELECT name, age, birthday, zipcode, address, comment '
     . '  FROM user_information '
     . ' WHERE user_id = ? '
     . '   AND is_delete = 0 ';

ヒアドキュメントを使用しても良い

<?php
$sql = <<< __EOS__
    SELECT name,
           age,
           birthday,
           zipcode,
           address,
           comment
      FROM user_information
     WHERE user_id = ?
       AND is_delete = 0
__EOS__;

以上、抜粋内容です。

特にPHPクラス名、関数名のPrefix(接頭辞)は、規約と異なる書き方でクラスや関数を命名してしまってもそのまま動いてしまうことがほとんどです。しかし、その後の改修を行う際に混乱を招かないためにも、規約に従った命名を行うことを強くお勧めします。

※ 現在、ソースコードの1行あたりの制限は、合理的あれば100文字でも良いという見解もあります。(Linixカーネルの開発者であるLinus Torvalds氏の見解) 引用元: https://lkml.org/lkml/2020/5/29/1038

EC-CUBE 3系の場合

EC-CUBE 3系のコーディング規約は以下になります。

他に、PHPの一般的なコーディング規約としては、PSR-0/1/2 が存在します。
原文は英語ですが、有志による日本語への翻訳も行われています。

書物としては、オライリー社の『リーダブルコード』をお薦めします。
経験に基づくコーディングのノウハウが、ユーモアを交えて数多く記載されています。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

弊社では、開発業務の他に、コンサルティング、サーバ構築、運用・保守など、ECサイト運営に関する業務を幅広く承っております。EC-CUBEについてのことでしたら、こちらのお問い合わせフォームよりお気軽にお問い合わせください。 https://ec-cuber.jp/contact-us/

以上、最後までお読み頂きありがとうございました。

まずはお気軽に何でもご相談ください。

▼問合せフォームから相談してみる。
https://ec-cuber.jp/contact-us/

▼メールで相談してみる
sales_ec@ids.co.jp

▼電話で直接相談してみる。
03-6386-3652