プログラムの書き方 2
下のプログラムは、LEDチカチカで作ったプログラムです。
上のプログラムで、文字が強調(mainの文字)されていたり、色文字になっている所がありますが、これは、MP LAB が、プログラムの命令やレジスタ名として認識している場合です、認識していなかったり、数値や変数などの場合は黒文字、//以降の注釈文は、薄い灰色になり、注釈文と認識しています(命令やレジスタ名の文字を打ち間違えると黒文字のまま)、黄色の四角に塗られている所は、一つの命令をクリックすると、同じ命令が全部黄色の四角に塗られます。
上のプログラムは、わざと命令をスペルミスしてみました(P0RTA Oが0になっている、__delay が dalay になっている)、間違えると黒文字のままです、場合により行番号にも、注意のマークがついたり、アンダーラインが付いたりします。
プログラムの内容は、LEDチカチカで説明しましたが、その時、書かなかった書き方について説明します。
上のプログラムは、内容は、LEDチカチカで作ったプログラムと同じですが、空白行や不要のスペースを使わずに書いた物です、ちなみにビルドすると、正常にビルドされました、しかし、見にくいし、分かりにくい書き方です。
C言語でプログラムを書く場合、フリーフォーマットと言って、書き方が決まっていません(最低守らないとエラーになる書き方はありますが)、ですから、自分しか見ないからこの書き方で良いと思えば、それで、良いわけですが、人に見てもらうとか、数人で共同でプログラムを作るとか、自分しか見なくとも後で見て分かりやすいとかを考えて、一般的に、こうゆう書き方をしましょうとゆうルールがあります。
そして、そのルールに従って書いたのが最初に書いたLEDチカチカで作ったプログラムです、しかし、一般的に、こうゆう書き方をしましょうとゆうルールにも、いくつか種類があって、LEDチカチカで作ったプログラムは、その内の一つです、私は、この書き方が、判りやすいので、いつも、この書き方でプログラムを書いています。
ルールを簡単にかくと、
1.関数名の行や、while命令のように、命令に内容を含む時は、その行には、関数名あるいは命令しか書かない。
2.内容の始まりを示す{ は、次の行の先頭に書き、この行には、{ 以外は書かない、終わりを示す }の時も同様にする。
3.内容の中の命令は、インデントを付け、一行に一命令だけ書く。
4.while命令のように、命令に内容{ }を含む時は、関数の書き方に倣う。
5.while命令のように、命令に内容を含む時は、その上の命令との間に空白行を入れる。
6.関数が2つ以上ある場合は、メイン関数を最初に書き、サブ関数は、その下にかく。
7.関数の終わりとその下の関数の間に空白行を1行以上設ける。
8.終わりを示す }が連続するときは、空白行を入れる。
9.命令文の中の演算子(=、*、+、< 等)の両側にスペースを入れる。
10. 命令文の先頭をそろえて書く。
以上、LEDチカチカで作ったプログラムは、これを守って書いてます。
プログラムの書き方は、これでお終い、つぎから、命令文について書きます。