今日の雑記

生きることでいっぱいいっぱい

「他人の書き方に合わせる」ということ

「プログラミング」についての話です。というか「ソースコードの書き方」についての話。
いつ頃かからは忘れたのですが、ボクはいつの間にか、仕事では「他人のプログラミングスタイルに合わせてプログラムを書く」事ができるようになってました。
「プログラミングスタイル」が解らない方に以下に簡単な例を書きます。以下は「C 言語」という言語の、最初は「ボクの書き方」で、次は「ボクのじゃない誰かの書き方」で書いた「Hello, World!」の書き方です。

int main(int argc, char *argv[])
{
    if(argc == 1){
        printf("Hello, World!\n");
    }
    return 0;
}
int main(int argc, char *argv[])
{
    if (argc == 1) {
        printf("Hello, World!\n");
    }
    return 0;
}

違い、解るでしょうか?
注目する部分はここです。

    if(argc == 1){
    if (argc == 1) {

よく見て頂ければわかると思いますが、「if」の後の「括弧」に一つ「半角スペース」が有るか無いか、の違いです(その後にもありますがまあここでは無視)。
ちなみに、どちらが「良い」とも「悪い」とも思ってません。所詮は「スタイル」なので。「スタイル」なんて個々人で色々有るわけで。
ものすごい些細な部分ですが、こういう「些細な部分」で「論争」が起こるのがプログラマの世界です。大変馬鹿らしいですね。
「論争」まで行かなくても、「自分との違い」を見たプログラマが「何だよこいつこんな組み方しやがってぶつぶつ...」と愚痴を言いつつ、「自分のスタイル」に書き直したり、不便を感じつつ放置したりしてるわけです。
なので、ボクはそんな馬鹿らしい世界に関わらないために「関わったプロジェクトのプログラマのスタイルに合わせる」ことにしてます。自分がメインでない時は。
まあ、自分がメインである時でも、例えばサブやヘルプの人が組んだソース(プログラム)をいじる時は、そのスタイル用に合わせるようにしてますが。
ボクが何故「他人のスタイルに合わせようとしているか?」というと、その方が、そのプログラムを見るときに「見やすい」とか「一貫性があってみてる途中で止まることが無い」からです。
上記は、文法というか構文の話ですが、話はそれだけではなくて「変数宣言」のしかたでも当てはまります。再び例を挙げてみましょう。

struct{
    int hoge;
    int *fuga;
} bar;
struct{
    int m_Hoge;
    int *m_pFuga;
} bar;

コレもまあ上記はボクで、下記はどこかの他人と思ってください。「変数宣言」とか書いておきながら「構造体のメンバ変数宣言」例として挙げてしまいましたが。
この例もボク自身は「どちらが良い/悪い」とは思ってません。
でも、ソースコードというかプログラム全般で一貫してれば、読むときにつっかかったり悩んだり困ったり解らなかったりしないですよね?
まあ、プロジェクトメンバー全員にコレを徹底するのは難しいというか無理というか不可能に近いかもしれませんが、少なくとも、この事を「意識している」プログラマが一人でも多く居れば、他のプログラマが困ったり以下略が減るし、そもそも「他人のスタイル」に乗って組んだ自分自身は、そういう煩わしい手間から少しは開放されますよね?
「でもそれ(<他人のスタイルに合わせる)って大変じゃないの?」と思うかもしれませんが、そこは、まあ、「気持ちの持ちよう」と「慣れ」の問題という、身も蓋も無い返答しかできない感じですね...。平たく言うと「がんばって...」という感じでしょうか...。