[PHP-users 13662] Re: "one true brace"表記とは?
Mashiki
php-users@php.gr.jp
Mon, 03 Mar 2003 14:59:50 +0900
Mashikiです。
重松さん情報ありがとうございます。
インデント (段下げ) の名前のことだったんですね。
そのあとの説明がよくわからなかったのですが、
・「one true brace style」は通常、K&Rスタイルのことをさす。
・「one true brace style」にはK&R、Linux風、BSD style、
GNU styleなどのバリエーションがある。
のどちらなのでしょうか。
>インデント (段下げ) の名前です。
>
>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 {
> }
>
>にしようかなと思う今日この頃。
diffの結果はなるほどとおもうのですが、不思議なきり方を
してくれたりしますね。
この書き方、「else {」の前に長いコメントを入れたばあい、
前のifの影響範囲がわかりにくくなる可能性ありそう。
>
>
>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 だとかは、処理できませんが。