4話:バグの修正って?(型を例に)
そのままするすると集落の中で一番大きなお屋敷までやってきた。
古代ということで、お屋敷といっても畳もない。ただ威厳は感じる。それにとても広い。
中にはいっていくととても偉そうなおっさんが声を発すると同時に固まっていた。
「息子よ!くぁwせdtg」
ミィさんは気にすることなく話を続ける。
「ちょうどいいわね、これからやってみましょうか」
『
バグ表
№ 日付 | 発見者 | チャプター | 概要 |バグ詳細 |対応内容・・・
1 | 5/3 | ミィ | プロローグ | 型間違 |勇者の名前を数字型に格納 |・・・・・・
2 | 6/4
』
目の前に表ファイルが展開される。
「だいたいの開発においては、こんな風にバグが一覧となっているのよ。この一覧を全部修正済みにしていくのがあなたの役割」
にしても、この表、かなりの長さがある。こんなに多いのか。
「多いわよねぇ。コンパイルエラーレベルも放置されているんだから何を開発したってレベルなんでしょうね・・・」
「コンパイルエラーって何ですか?」
すかさず聞いてみる。
「ああ、コンパイルエラーってのは、コンパイルした時にエラーとなるもののこと。実行時にエラーとなるものと違って、事前にわかるはずなんだけど。まぁ見てみた方がいいわね」
『
int name = "オウス";
~~~~ ~~~~~~
』
「昔の言語ならともかく、最近の言語に関しては優秀な開発ツールがあるから、こんな風に単純なバグなら表示してくれるのよ」
「はぁ、で、これのどこがおかしいんですか?」
「えっとね・・・まず、これは変数の宣言をしている箇所なの。そして、nameという変数に"オウス"という名前を格納しているの」
「 = だからって、イコールって意味じゃないんですね」
「そうよ。javaでイコールとして使いたい場合は == と二つ重ねるから、覚えといて。とにかく=は右から左に情報を格納することを意味するの」
「この[;]の意味は、句読点の意味ですか?」
「その通りよ。この命令文がここで終わりってことを意味しているわ」
「では、あたまの[int]は何を意味するんですか?」
「これこそが型なの。表で説明するわ」
『
int 領域の少ない整数
double 領域の少ないが少数点を含む数字
long 領域の多い整数
String 文字列
char 文字(1文字)
boolean true か falseの二択
』
一気に多くなる。
「とりあえず、こんなところね。一度にたくさんやってもしょうがないし、出るたびに覚えましょう」
これでも少ないらしい。
「型はその変数がどんな種類なのかを表すの。数字なのか文字なのか、という情報よ」
「そういえば、さっきからでてくる[変数]って何ですか?」
「ああ、ごめんごめん、変数は今回のプログラムだとnameの箇所。nameの値をどんどん変えていけるから[変数]」
いまいちイメージがつかめない。
「例がわるかったわね。数字の方がわかりやすいかしら」
『
int n = 2;
n = 4;
n = n +3;
』
「これは最終的にnの数字は何でしょうか」
2 + 4 + 3かな?でも、右から左に格納するって話だから・・・
「7ですか?」
「正解よ。2から4にかわって、さらに4+3のものが入って、7になっているわけね」
なんとなくわかった気がする。こういう風にころころ値が変わるから変数か。
「ちなみに、変数の決まりはあるんですか?」
「別になんでもいいわよ。今回はnだけど、xでもsuujiでも、それこそdragonとかでも何でも。でも、後からの話になるけど、一定のルールで作らないと他の人が読むときに怒られるってことだけは気を付けておいてね」
他の人か。
「話を戻すわね、さて、今回のバグはどう直せばいいでしょうか」
おそらく、文字なのに数字が入っていることが問題だから・・・
『
String name = "オウス";
』
ですかね?
「いいね。はい、これで主人公にやっと名前がついたわよ」
忘れてた。あくまでも世界を修正しているのだった。
主人公の名前は「オウス」というらしい。正直馴染みのない名前だ。
javaの教科書を作るつもりはないのですが、
プログラムってものを理解するためには色々と長くなりますね。
お付き合いください。




