[PHP-users 13660] Re: "one true brace"表記とは?

Osamu Shigematsu php-users@php.gr.jp
Mon, 03 Mar 2003 13:13:59 +0900


重松です。こんにちは。

インデント (段下げ) の名前です。

one true brace style (1tbs):

	if (cond) {
	    statement;
	}

のような感じ。普通は K&R とか karnel とかいうと思われます。
ちなみに私はこれ。(誰も聞いてない?)

正確には、

	int ClassFoo::function(const ClassBar& rBar)
	{
		if (rBar.condition()) {
			doStuffs();
		} else {
			doSomeOtherStuffs();
		}
	}

のように書くのですが、Linux 風のようです。
# man indent によると。:)

ただ、これだと、if に else で条件を追加したときに、
きれいに diff が取れないので、

	if (cond) {
	}
	else {
	}

にしようかなと思う今日この頃。


BSD style:

	if (cond)
	{
	    statement;
	}

Allman style ともいいます。Hacker の Eric Allman にちなんでるらしい。
昔はこうでした。

GNU style:
	if (cond)
	  {
	    statement;
	  }
GNU のツール類で使われている段下げ。
個人的には好きでない。;)

このほかにもいろいろあるみたいですね。

それはそうと、ちと脱線ですが、昔、吐き気がするような汚い PHP スクリプトを
きれいにするには、というスレッドがあったと思うのですが、
GNU indent に食わせたところ、それなりに処理してくれることがわかりました。

ただし、

	$buf = $hoge;
	$buf .= $uge;

とか、foreach($myArray as $key => $val) {;} だとか、
here document だとかは、処理できませんが。

-- 
Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp>