パスワードを忘れた? アカウント作成
699324 journal

masaki-fの日記: すたいる 4

日記 by masaki-f

何だかあまりに文学部というものが理解されていないと最近ヤケに感じるので
von_yosukeyanさん風に色々と書こうなんて思ったけど、とりあえず素面
じゃないしまたいつか、と先延ばし。

そういうわけで最近コーディングスタイル(というかインデントスタイル)の
ジレンマに陥ってますが。

とりあえずC++はこんな風:

class foo
{
        public foo(int arg1, string arg2)
        {
                if (arg2 == "bar") {
                        switch (arg1) {
                        case 0:
                                break;
                        }
                }
        }
};

クラスとメソッドは中カッコ改行。それ以外はK&R風。caseはインデントしない。
処理が1行でもブロックにする。ちなみにTABは4。気分によっては2。
妙に中途半端だけどこれが好き。好きったら好き。理屈ってなに?

で、仕事でCの場合は完璧ANSIスタイル:

int main(int argc, char *argv[])
{
        while (argc)
        {
                printf("%s\n", argv[--argc]);
        }
        return 0;
}

何かこういうargc/argvを扱った処理を見るとCの256倍本を思い出すのです。

でもってPHPとかオープンソースでかかずらってるソースは完璧K&R:

if (!internal_encoding) {
        if (script_encoding->input_filter) {
                LANG_SCNG(input_filter) = script_encoding->input_filter;
        }
        if (script_encoding->output_filter) {
                LANG_SCNG(output_filter) = script_encoding->output_filter;
        }
        return 0;
}

最近仕事のCもK&R風に書いちゃって馬鹿にされることが。馬鹿にしなくたって
いいじゃないですかぁ。

Javaは言うまでもなく:

public class foo {
        public foo() {
        }
}

これでしょう。

最近C#とか触っちゃって、こっちは対抗意識なのか何なのか:

namespace Foo
{
        public class MainFrame
        {
                public MainFrame()
                {
                }
        }
}

一応オプションでJava風のインデントもサポートされてるですが、VS.NETで
自動生成されるコードがなぁ。ってほとんど自動生成なんて使いませんが。

っていうか、書いてて気づいた。要は仕事(C)のANSIなインデントさえなくなれば
いいのだ。後はかってに統一してしまえばいいんだ。そしてもうすぐ今の会社
辞めるんだ。

イエア。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲは一日にしてならず -- アレゲ研究家

読み込み中...