プログラムの書き方 |
●C言語からJavaへ
本学の2023年度カリキュラム以降では1年後期必修科目「プログラミング基礎」でC言語を学習している。
C言語とJavaは,処理を記述する部分に関しては書き方・文法が非常によくにている。ここでは,Javaを
これから本格的に学習するに当たって,1年次に学習したC言語からJavaへの簡単な移行方法を紹介する。
・建築家になりたい学生が,見本の設計図を端からコピーするように設計図を書き写しても,設計図を書ける様にはならない。設計図に書かれている建物の構造を把握できる様にならないからである。
部屋・壁・柱などの構造ごとに設計図を書くことで,それらの構造とその意味を把握できるし,そちらの方がはるかに書きやすい。
・同じ様に,プログラムにも構造があり,構造ごとにプログラムを書くように努力しないと,構造が把握できるようになれない。
・一番悪い書き方は,頭から1行ずつ写して書くこと。これは絶対にしてはならない。誤りやすく,いつまで経ってもプログラミングの学習が進まないバカな書き方である。このような書き方をすると,プログラムを書く能力は絶対に身に付かない。
・もちろん,見た目も分かり易く書かないと行けない。
・ここでは,プログラムを書く上での大切な書法を説明する。
●読みにくいきたないプログラムの書き方と,読みやすい綺麗な書き方の例
◆以下のList 1,4,5は,内容的には同じ正しいプログラムだが,List 1はプログラムの構造が
把握しやすいのに対して,List 4, 5はプログラムの構造が把握しにくい。
▼ List 1 "Hello.java" 構造を把握しやすい書き方
(今後,資料に以下のような交互に白灰行で表示されたソースコードは,ブラウザのFlashを有効化すると,右上左から2番目のボタンでソースをコピーできる)
public class Hello { public static void main( String args[ ] ) { System.out.println( "hello!" ); } }
▼ List 4 "Hello.java" 構造を把握しにくい書き方1
public class Hello {public static void main( String args[ ] ) {System.out.println( "hello!" );}}
▼ List 5 "Hello.java" 構造を把握しにくい書き方2
・List 4, 5 も正しいプログラムである。その理由を下図に示す。public class Hello {public static void main( String args[ ] ) { System.out.println ("hello!") ;}}
以上のような理由で,List 4, 5はプログラム的には間違っていない。
しかし,プログラムには「構造」があり,それを把握しやすいように書くことが大事である。
以下に,Javaやのプログラムに現れる「構造」の典型的な形を示す。
・Fig.2-(1)が基本構造
・{ }の中にさらに別の基本構造を入れることが出来るので,Fig.2-(2)のように多重構造をとることになる。
※この様な多重構造を「入れ子」と言う。
・この様な構造を見やすくするには,List 1のような書き方がよい(下図)。
・List 1のように見やすく書くには,「字下げ(indent)」というテクニックが有効である(下図)。
※「字下げ」は
・下図(1)のように,対応する「開きカッコ」と「閉じカッコ」の位置をそろえて,それらのカッコがお互いに対応していることをひと目で分かるようにする。
・下図(2)のように,
カッコの内部は右側にずらす。
の2つのルールを守れば良い。
・また,プログラムを書く鉄則に,「対応するカッコは先に書く」というものがある。
書き順を下図に示す。
・実際に List 1 を書いていく様子を動画で確認せよ(必要に応じて動画を一時停止して確認すると良い)。
・慣れないうちは,教科書やプリントのプログラムの構造を把握しやすくするために,蛍光ペンなどで,マーキングすると良い(下図)。
プロでも長いプログラムや他人の書いたプログラムを読むときには,ソースコードを印刷した上でマーキングをすることがある。
・適度な空白行をあけよう
List 1 が少し込み入ってるように感じたら,構造の境目や,ひとつの意味を持つひとまとまりの前後に空白行を入れてみよう。
以下は, List 1 に空白行を入れて一眼外側の構造を目立つようにしてみた例である。
▼ List 1 "Hello.java" に空白行(2行目と6行目)を入れて,一番外側の構造をより把握しやすくしてみた例。
public class Hello { public static void main( String args[] ) { System.out.println( "hello!" ); } }
・プログラムの内容を把握しやすくする手段として,プログラムの中に注釈(コメント)を書く方法がある。
【まとめ】
・プログラムを書くときは,必ず対応するカッコを先に書き,字下げをして構造を把握しやすい書き方をすること。
・コメントなどで補足説明を付けよう。