コーディングスタイル
    入門
~人に伝えるプログラミング~
    MACHIDA ‘matchy’ Hideki
                 @matchy2
で、だれ?
町田 秀企(まちだ ひでき)といいます
matchy(まっちー)とも名乗ります
その昔MUSIC PROというソフトを作
ってました
現在八光興発アズシエル事業部とい
うところに勤務しています
で、だれ?
町田 秀企(まちだ ひでき)といいます
matchy(まっちー)とも名乗ります
その昔MUSIC PROというソフトを作
ってました
現在八光興発アズシエル事業部とい
うところに勤務しています
提         供
信州の良いもの全国へ!




     八光興発アズシエル事業部



  アノト・マクセル
コーディングスタイルとは?
プログラムソースの書き方
宗教戦争
プロジェクトで決めたコーディング
規約に従おうね
今回の言語は?
コーディングスタイルとは?
プログラムソースの書き方
宗教戦争
プロジェクトで決めたコーディング
規約に従おうね
今回の言語は?
コーディングスタイルとは?
プログラムソースの書き方
宗教戦争
プロジェクトで決めたコーディング
規約に従おうね
今回の言語は?
K&Rスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }
              ※インデントは4桁のスペース
オールマンスタイル
   int main()
   {
       while (x == y)
       {
           if (has_error)
           {
               do_correct();
           }
           else
           {
                do_usual();
           }
       }
                               ※インデントは
   }                           4桁のスペース
オールマンスタイル
   int main()
   {
       while (x == y)
       {
           if (has_error)
           {
               do_correct();
           }
           else
           {
                do_usual();
           }
       }
                               ※インデントは
   }                           4桁のスペース
BSDスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }

     ※インデントは4桁の水平タブ(ソフトタブ)
BSDスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }

     ※インデントは4桁の水平タブ(ソフトタブ)
K&Rスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }
              ※インデントは4桁のスペース
K&Rスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }
              ※インデントは4桁のスペース
BSDスタイル
   int main()
   {
       while (x == y) {
           something();
           anything();
           if (has_error) {
               do_correct();
           } else {
               do_usual();
           }
       }
   }

     ※インデントは4桁の水平タブ(ソフトタブ)
GNUスタイル
   int main()
   {
     while (x == y)
       {
         if (has_error)
           {
              do_correct ();
           }
         else
           {
              do_usual ();
           }
       }
                               ※インデントは
   }                           2桁のスペース
GNUスタイル
   int main()
   {
     while (x == y)
       {
         if (has_error)
           {
              do_correct ();
           }
         else
           {
              do_usual ();
           }
       }
                               ※インデントは
   }                           2桁のスペース
ホワイトスミススタイル
   int main()
   {
       while (x == y)
           {
           if (has_error)
               {
                do_correct();
                }
           else
                {
                do_usual();
                }
           }                    ※インデントは
   }                            4桁のスペース
ホワイトスミススタイル
   int main()
   {
       while (x == y)
           {
           if (has_error)
               {
                do_correct();
                }
           else
                {
                do_usual();
                }
           }                    ※インデントは
   }                            4桁のスペース
Bannerスタイル
    int main()
    {
        while (x == y) {
            something();
            anything();
            if (has_error) {
                do_correct();
                }
            else {
                do_usual();
                }
            }
        }
             ※インデントは4桁のスペース
Bannerスタイル
    int main()
    {
        while (x == y) {
            something();
            anything();
            if (has_error) {
                do_correct();
                }
            else {
                do_usual();
                }
            }
        }
             ※インデントは4桁のスペース
Bannerスタイル
    int main()
    {
        while (x == y) {
            something();
            anything();
            if (has_error) {
                do_correct();
                }
            else {
                do_usual();
                }
            }
        }
             ※インデントは4桁のスペース
Bannerスタイル
    int main()
    {
        while (x == y) {
            something();
            anything();
            if (has_error) {
                do_correct();
                }
            else {
                do_usual();
                }
            }
        }
             ※インデントは4桁のスペース
Bannerスタイル (HTML)
  <table>
     <tr>
       <td> lots of stuff...
          more stuff
          </td>
       <td> alternate for short lines </td>
       <td> etc. </td>
       </tr>
     </table>
Bannerスタイル (HTML)
  <table>
     <tr>
       <td> lots of stuff...
          more stuff
          </td>
       <td> alternate for short lines </td>
       <td> etc. </td>
       </tr>
     </table>
Linuxスタイル
 int main()
 {
         while (x == y) {
                 something();
                 anything();
                 if (has_error)
                          do_correct();
                 else
                          do_usual();
         }                                ※インデントは
 }
                                          8桁の水平タブ
                                          (ハードタブ)
Linuxスタイル
 int main()
 {
         while (x == y) {
                 something();
                 anything();
                 if (has_error)
                          do_correct();
                 else
                          do_usual();
         }                                ※インデントは
 }
                                          8桁の水平タブ
                                          (ハードタブ)
Linuxスタイル
 int main()
 {
         while (x == y) {
                 something();
                 anything();
                 if (has_error)
                          do_correct();
                 else
                          do_usual();
         }                                ※インデントは
 }
                                          8桁の水平タブ
                                          (ハードタブ)
画面サイズとの関係
80桁×25行
適切に設定された端末・エディタばか
りではない
サーバー設置時に未設定のエディタ
やページャで乗り切らなければならな
いこともある
画面サイズとの関係
80桁×25行
適切に設定された端末・エディタばか
りではない
サーバー設置時に未設定のエディタ
やページャで乗り切らなければならな
いこともある
ハードタブ論争
水平タブは通常8桁である
⇒ハードタブ
ソースを確認するだけなら、いちいち
エディタなんか使わない
インデントが深くなるなら、そもそも処
理内容自体を見直せ!
なぜこだわるのか
ソースコードは「人に伝えるため」
プログラミングはコミュニケーション
動くメンテナンスできないプログラムよ
り、動かないメンテナンス可能なプロ
グラム
明日の自分のため
なぜこだわるのか
ソースコードは「人に伝えるため」
プログラミングはコミュニケーション
動くメンテナンスできないプログラムよ
り、動かないメンテナンス可能なプロ
グラム
明日の自分のため
なぜこだわるのか
ソースコードは「人に伝えるため」
プログラミングはコミュニケーション
動くメンテナンスできないプログラムよ
り、動かないメンテナンス可能なプロ
グラム
明日の自分のため
プログラミングは表現活動だ

小説家が小説を書くように

音楽家が音楽を作るように
僕たちは
プログラムソース
を書く
Twitterからはみ出した「リアル」(裏)
     ~前のめりな人々~

      妖怪の生まれ方
    ~「名づけ」のシゴト~

  人間寄りコンピューティング
   ~アノト方式デジタルペン~
つづく
Twitterからはみ出した「リアル」(裏)
     ~前のめりな人々~

      妖怪の生まれ方
    ~「名づけ」のシゴト~

  人間寄りコンピューティング
   ~アノト方式デジタルペン~

コーディングスタイル入門~人に伝えるプログラミング~