PHPスクリプトのブロック記述について

  • ページ: BugTrack2
  • 投稿者: ELF
  • 優先順位: 低
  • 状態: 提案
  • カテゴリー: 本体バグ
  • 投稿日: 2005-03-13 (日) 19:46:22
  • バージョン:

メッセージ

henohenoさんになってからif文の条件後のコードが1文の場合, カッコで括らなくなりましたが,コーディング規約的なものの変更でしょうか?*1

例えば下記のようなコード*2が非常に読みづらいです*3

    foreach ($pages as $page) {
        if (preg_match('/^' . $WikiName . '$/', $page) ?
            $nowikiname : strlen($page) >= $autolink)
            $auto_pages[] = $page;
    }

とか

        if (preg_match('#^(.+/)' . preg_quote($script_directory_index, '#') . '$#',
            $script, $matches)) $script = $matches[1];

2文になったときの変更点が無駄に増える(括弧で括ったり)ので,個人的には積極的な理由がなければ常にブロックで括った方がいいと思うのですが.


  • 個人的には演算子や一つの関数はよほど長くない(or見づらくない)限りは一行で書いていただけたらなと思います。ちなみに私はブロックを消す派なので、やたらと{や}で行を浪費するのはあまり好きではなかったりします。 -- Ratbeta? 2005-03-13 (日) 21:11:02
  • 個人的な意見だからね、聞き流してよ。難しいこと言っちゃうと、括弧でくくることから初めよ。あ、ごめん。 -- 2005-03-13 (日) 21:19:29
  • 色々とスタイルがありますよね。個人的には { と } でくくって、かつ、同じラインに揃える派です。pukiwikiの本体のコードに手を入れるときは、その周辺の書き方に合わせるようにしています*4。 -- teanan 2005-03-13 (日) 21:36:22
        foreach ($pages as $page)
        {
             hogehoge($page);
        }
  • 個人的にはPEARのコーディング規約にできるだけ合わせるようにしています。 -- okkez 2005-03-13 (日) 22:11:38
    • 私も基本的にPEARのコーディング規約がいいですね.完璧じゃなくても「これにそって書いてね」ですむので. -- ELF 2005-03-14 (月) 00:46:25
  • 例えば下記のようなのは1行で済ませるのも一旦はアリかな? とは思う部分もあります*5. -- ELF 2005-03-14 (月) 00:46:58
    switch ( $foo) {
    case "foo": echo "ふーです";break;
    case "bar": echo "ばーです";break;
    default: echo "それ以外です";break;
    }
  • まずは、ハードタブ→スペース4つに置換するところから? -- okkez 2005-03-17 (木) 03:32:33
    • ハードタブをソフトタブにすることに賛成です.ファイルサイズとHTMLサイズは大きくなってしまいますが,PEARコーディング標準にあるとおりハードタブは環境依存がまずいです. -- ELF 2005-03-17 (木) 09:27:58
    • こんな人もいますが。 :) -- 2005-03-17 (木) 18:52:35

      ソフトタブだと自分の好みを押し付けることになるので嫌だなぁと。みんなハードタブ使ってくれりゃあ俺は全てのコードを 3 タブで読めるのになぁと常々思ってるんですけども。

      • なるほど.コレくらいの開き直りもありかもしれない(笑 -- ELF 2005-03-18 (金) 00:27:40
  • 参考までにphpCodeBeautifier(解説) -- Ratbeta? 2005-03-18 (金) 11:39:58


*1 CVSログで眺めていて単にカッコ括り除去のcommitもあるようなので
*2 lib/func.php
*3 henohenoさん以前からだったりして
*4 スクリプトによって規則が違うことがありますし (^^;
*5 例が悪くてすみません.あくまで「例えば」で

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-01-08 (日) 01:56:37
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.143 sec.

OSDN