『Out of bounds』 [作り話・JUNK]
プー太がいつものようにプログラムを解析して(読んで)いると、□■さんが来て、
□■ 「こっちに来て、」
と言って、どこかに行くので付いていきました。
少し離れたところに6人座れる簡易なミーティングエリアがあり、●□さんが座っていました。
□■さんと●□さんが何か話をしています。
「あれはどんな感じ?」「まぁ、××ですから、」「~は、どうなったんですか?」「まだ決まってないんですよ」
「それじゃあ、進めても・・・」「そうなんですよね」
プー太(仕様が決まってなくて作業が進められないって職場なのか)
□■ 「犬神さんは、どんな感じですか?」
プー太「私はプログラムの解析中で、ボタンとプルダウンメニューについては、他の
プログラムで似たようなところを見つけましたので、作成できると思います。」
□■ 「そう、それなら そのまま作ってもらっていいですから、
コンパイルとかは●□さんに聞いてください」
プー太「分かりました。」
□■ 「他に何かある?」
●□ 「特には・・・」
プー太「・・・」
□■ 「では、解散します。」
◇ 少し解説
普通、ボタンやリスト等の画面を作る場合は、『フレームワーク』というプログラム作成のサポートのようなものを使いますが、
今回の職場では すべてJavaで、AWT(Abstract Window Toolkit(違う言葉の略の場合もあるが大体こんな感じ))を使っての作業になります。
Javaの作業をする場合は、eclipse(便利な統合開発環境)を使うことが多いのですが、ここで(今回)は使わないようでした。
プログラムを書いて、それを実行できるようにするのがコンパイルです。
◇
コンパイルや実行方法等を●□さんに聞くプー太。
●□ 「これで実行できるはずだから!
動かなかったら、また(聞きに)来て」
プー太「分かりました。
ありがとうございます。」
◇ プログラム修正
他のプログラムを真似て、今回追加するボタンとプルダウンメニューを作成するプー太。
ボタンを押したときの処理や、プルダウンメニューで指定した項目による処理も追加します。
仕様を聞いたり、作成するのに2、3日かかりました。
ブログラムをコンパイルするとエラーが出ました。
「Out of bounds」
これは配列とかをオーバーしたときに出るエラーです。
解説
文字を入れる箱を複数(21)個、確保します。
文字列型の、名前[21] ← 20文字と、文字列の終りマークを入れる箱の配列
そこに20文字を超える名前を入れると、入らなくてエラーになります。
実際には、20文字を超えて入れようとして、使ってはいけない領域に入れようとするのでエラーになります。
今回の修正では、ボタンは一つですし、プルダウンメニューも配列を使っている訳ではありません。
謎です!
1時間ほど原因について調べて、分からなかったので●□さんに質問しに行きました。
◇
プー太「プログラム修正後にコンパイルしたらエラーが出て、
それが『Out of bounds』なんですけど、特に配列を使った処理をしている訳
でもないので、よく分からないんですが、
ここで、よく出るエラーとか、特徴のある処理とか、ないでしょうか?」
●□ 「『Out of bounds』? それは初歩的なエラーだから、自分で考えて」
プー太「何か ここのプログラムでよく起きるエラーとか、無いでしょうか?」
●□ 「それを調べるのが仕事だから、」
相手にされていないようなので、プー太は自席に戻りました。
◇ 2日後
ミーティングがあり、□■さんと●□さんが、また何か話していました。
プー太「これはミーティングだと思うのですが、二人で話されていて、私にはよく分か
らないのですが、これでいいんでしょうか?」
□■ 「あー、すいませんね、
これは、進捗報告があって、その前にどのぐらい出来ているか聞いているだけ
なので、
内容は分かった方がいいけど、それを説明するのは時間がかかるんで、まぁ、
・・・
それで、犬神さんはどんな感じですか」
プー太「私はプログラムをコンパイルしたらエラーが出て、
それが『Out of bounds』なんですが、配列を使った処理は書いてなくて、
●□さんに質問したんですが、自分で解決するように言われて、解析中です」
□■ 「それは聞いてます。
まだ出来ないんですか?」
プー太「はい。まだ解決していないです。」
□■ 「分かりました。」
□■さんは おかしいなーという困ったような顔をして、
□■ 「(解析を)続けてください。」
「では、解散します」
◇ 『Out of bounds』の原因
プー太は追加したプログラムと参考にしたプログラムを何度も確認しましたが、エラーの原因は分かりませんでした。
プー太(私の見ているプログラムは、●□さんに「この辺を見れば大体分かるから」と言われたところを見ているだけだ。
全部見ないと分からないのかもしれない。)
プー太は関係なさそうなプログラムも確認しました。
今までは、参考にするファイルと修正するファイルを合わせても、8ファイルでしたが、今回は100を超えるファイルの中から、
少しでも関係のありそうなファイルを、共通処理のファイルから見ていきました。
すると、リソース管理のようなファイルに、ボタンの名前が書いてあるファイルがありました。
各ボタンに長さが1の配列で、何か定義されていました。
プー太(なんじゃこりゃー!?
なんか、使う部品の実体をここですべて生成、管理しているみたいなプログラムソースがあった。
普通なら「名前ボタンがありません」みたいなエラーになるところが、長さ1の配列で設定されていて、他のプログラムの関係なのか、
配列に関するエラーの『Out of bounds』が出ていたらしい。
何、これ。。。)
プー太はそのプログラムに今回追加したボタンの定義を追加して、コンパイルしました。
コンパイルは通り、実行ファイルが作成されました。
画面の動作確認もして、正常に動くことを確認しました。
◇ 報告
プー太「●□さん、今回の修正、終了しました。」
●□ 「! できた? 『Out of bounds』は?」
プー太「rs_ほげほげってファイルにボタン管理してるところがあって、
そこが長さ1の配列で設定されているんですが、無いのが原因のようでした。」
●□ 「rs_ほげほげ!
悪かったねー、言ってなかったっけ、スマンスマン」
「で、後は問題ない?」
プー太「はい。仕様通りの動作を確認しました。」
●□ 「そう、後で見に行くから、それまでは、、、
何かやってて」
プー太「分かりました。
失礼します。」
◇
その後、●□さんの指示に従い、順調に作業を進めるプー太。
◇ 8月下旬
営業Gから、会社メールに連絡があり、会って話をしましょうとのこと。
プー太(これは、お客様からクレームがあったのだろうか・・・)
つづく
□■ 「こっちに来て、」
と言って、どこかに行くので付いていきました。
少し離れたところに6人座れる簡易なミーティングエリアがあり、●□さんが座っていました。
□■さんと●□さんが何か話をしています。
「あれはどんな感じ?」「まぁ、××ですから、」「~は、どうなったんですか?」「まだ決まってないんですよ」
「それじゃあ、進めても・・・」「そうなんですよね」
プー太(仕様が決まってなくて作業が進められないって職場なのか)
□■ 「犬神さんは、どんな感じですか?」
プー太「私はプログラムの解析中で、ボタンとプルダウンメニューについては、他の
プログラムで似たようなところを見つけましたので、作成できると思います。」
□■ 「そう、それなら そのまま作ってもらっていいですから、
コンパイルとかは●□さんに聞いてください」
プー太「分かりました。」
□■ 「他に何かある?」
●□ 「特には・・・」
プー太「・・・」
□■ 「では、解散します。」
◇ 少し解説
普通、ボタンやリスト等の画面を作る場合は、『フレームワーク』というプログラム作成のサポートのようなものを使いますが、
今回の職場では すべてJavaで、AWT(Abstract Window Toolkit(違う言葉の略の場合もあるが大体こんな感じ))を使っての作業になります。
Javaの作業をする場合は、eclipse(便利な統合開発環境)を使うことが多いのですが、ここで(今回)は使わないようでした。
プログラムを書いて、それを実行できるようにするのがコンパイルです。
◇
コンパイルや実行方法等を●□さんに聞くプー太。
●□ 「これで実行できるはずだから!
動かなかったら、また(聞きに)来て」
プー太「分かりました。
ありがとうございます。」
◇ プログラム修正
他のプログラムを真似て、今回追加するボタンとプルダウンメニューを作成するプー太。
ボタンを押したときの処理や、プルダウンメニューで指定した項目による処理も追加します。
仕様を聞いたり、作成するのに2、3日かかりました。
ブログラムをコンパイルするとエラーが出ました。
「Out of bounds」
これは配列とかをオーバーしたときに出るエラーです。
解説
文字を入れる箱を複数(21)個、確保します。
文字列型の、名前[21] ← 20文字と、文字列の終りマークを入れる箱の配列
そこに20文字を超える名前を入れると、入らなくてエラーになります。
実際には、20文字を超えて入れようとして、使ってはいけない領域に入れようとするのでエラーになります。
今回の修正では、ボタンは一つですし、プルダウンメニューも配列を使っている訳ではありません。
謎です!
1時間ほど原因について調べて、分からなかったので●□さんに質問しに行きました。
◇
プー太「プログラム修正後にコンパイルしたらエラーが出て、
それが『Out of bounds』なんですけど、特に配列を使った処理をしている訳
でもないので、よく分からないんですが、
ここで、よく出るエラーとか、特徴のある処理とか、ないでしょうか?」
●□ 「『Out of bounds』? それは初歩的なエラーだから、自分で考えて」
プー太「何か ここのプログラムでよく起きるエラーとか、無いでしょうか?」
●□ 「それを調べるのが仕事だから、」
相手にされていないようなので、プー太は自席に戻りました。
◇ 2日後
ミーティングがあり、□■さんと●□さんが、また何か話していました。
プー太「これはミーティングだと思うのですが、二人で話されていて、私にはよく分か
らないのですが、これでいいんでしょうか?」
□■ 「あー、すいませんね、
これは、進捗報告があって、その前にどのぐらい出来ているか聞いているだけ
なので、
内容は分かった方がいいけど、それを説明するのは時間がかかるんで、まぁ、
・・・
それで、犬神さんはどんな感じですか」
プー太「私はプログラムをコンパイルしたらエラーが出て、
それが『Out of bounds』なんですが、配列を使った処理は書いてなくて、
●□さんに質問したんですが、自分で解決するように言われて、解析中です」
□■ 「それは聞いてます。
まだ出来ないんですか?」
プー太「はい。まだ解決していないです。」
□■ 「分かりました。」
□■さんは おかしいなーという困ったような顔をして、
□■ 「(解析を)続けてください。」
「では、解散します」
◇ 『Out of bounds』の原因
プー太は追加したプログラムと参考にしたプログラムを何度も確認しましたが、エラーの原因は分かりませんでした。
プー太(私の見ているプログラムは、●□さんに「この辺を見れば大体分かるから」と言われたところを見ているだけだ。
全部見ないと分からないのかもしれない。)
プー太は関係なさそうなプログラムも確認しました。
今までは、参考にするファイルと修正するファイルを合わせても、8ファイルでしたが、今回は100を超えるファイルの中から、
少しでも関係のありそうなファイルを、共通処理のファイルから見ていきました。
すると、リソース管理のようなファイルに、ボタンの名前が書いてあるファイルがありました。
各ボタンに長さが1の配列で、何か定義されていました。
プー太(なんじゃこりゃー!?
なんか、使う部品の実体をここですべて生成、管理しているみたいなプログラムソースがあった。
普通なら「名前ボタンがありません」みたいなエラーになるところが、長さ1の配列で設定されていて、他のプログラムの関係なのか、
配列に関するエラーの『Out of bounds』が出ていたらしい。
何、これ。。。)
プー太はそのプログラムに今回追加したボタンの定義を追加して、コンパイルしました。
コンパイルは通り、実行ファイルが作成されました。
画面の動作確認もして、正常に動くことを確認しました。
◇ 報告
プー太「●□さん、今回の修正、終了しました。」
●□ 「! できた? 『Out of bounds』は?」
プー太「rs_ほげほげってファイルにボタン管理してるところがあって、
そこが長さ1の配列で設定されているんですが、無いのが原因のようでした。」
●□ 「rs_ほげほげ!
悪かったねー、言ってなかったっけ、スマンスマン」
「で、後は問題ない?」
プー太「はい。仕様通りの動作を確認しました。」
●□ 「そう、後で見に行くから、それまでは、、、
何かやってて」
プー太「分かりました。
失礼します。」
◇
その後、●□さんの指示に従い、順調に作業を進めるプー太。
◇ 8月下旬
営業Gから、会社メールに連絡があり、会って話をしましょうとのこと。
プー太(これは、お客様からクレームがあったのだろうか・・・)
つづく