表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
60/111

初めてでも書ける! クソコード入門

「ああもう! 訳が分かんないんですよ!」

 私は自室で誰に聞こえるでもない声を上げていた。それというのもJavaだからガベコレあるしメモリ管理なんて気にしないというムカつくやつのせいだ。

「参照残してたらメモリリーグするでしょうが……」


 そう、今のバイトではJavaを書いているんです。ガーベッジコレクション、それは確かにいいものでしょう、しかしです、循環参照や使い終わったポインタにnullを入れないせいで思いっきりメモリリークしていました。

 ※ガーベッジコレクション:通称GC、不要になったメモリを解放してくれる機能

「万能の魔法なんてないことを未だに信じられない人なんですかねえ……」


 気が重い、これからこの救いようもないコードを修正する必要があります。そもそもバイトにやらせるようなことじゃないでしょこれ。

 このコードを書いたやつに銀の弾丸をぶち込んでやりましょうかね……

 そうは言っても引き受けた以上責任はあります。たとえどうしようもないコードでも動くまでは持っていかないといけないのです。気が重いことこの上ないですがこれを修正しますか……

 とりあえずコンパイルは通っているので動かしてみる。ゲームのアプリだがあまりにも実行速度が遅い、とくに弾幕が広がったときの処理オチには感心さえしそうになるような代物でした。

 コードを読んでみると……

 

for(int i = 0; ary.length > i; i++){

 以下略

 }

 これを書いたやつの正気を疑います……え? なにこれ? ループごとに配列の長さを毎回測るって正気でしょうか?

 そもそも拡張for文を使えとか、synchronizedでロックをしていないので配列の長さが変わったら例外で落ちるんですが……

「このコード書いた人は自分で実行したことがないんですかね……」

 気が沈む、ちなみにこのコードが出てきたのは読み始めて十分です、このレベルのコードが残り全部に入っているのでしょうか? ゾッとした寒気が背筋を伝います。


「いいや、お兄ちゃんに直してもらお」

 別にバイトに守秘義務なんぞ無いに等しいのだ。だったらお兄ちゃんとやれば気が紛れるかも知れない。そう思ってお兄ちゃんとこのクソコードの修正をお兄ちゃんにも協力を仰ぎました。

「で、出てきたコードがこれと……」

「はい……」


 さすがのお兄ちゃんも呆れかえっている。まともな開発者なら『これはヤバイ』と思ったものは修正しますし、そうでなくてもテストの段階で非現実的な計算量になっているのは分かるはずです。まさか作者はコンパイルが通ったというだけでマスターブランチにこの変更を投げたのでしょうか? いよいよやべーコードなのが明るみに出ます。

 そうして夜十時。

「お前明日も学校あるだろ? 俺に任せてそろそろ寝とけ」

「いえ、お兄ちゃんだけを犠牲にするわけには……」


 お兄ちゃんは自信があるのかはっきり言います。

「この文量なら俺でもなんとかなるし不満なら明日現場で直してもいいだろ、たまには頼ってくれ」


 うぅ……お兄ちゃんに私が頼るのですか……とっても気が進まないですけど、もう眠いのも事実ですし……でも……

「はぁ……分かりました、お任せしますけどできないときは素直に私に投げてくださいね? 時間があればなんとかなりそうなことが多いですから。

 ……翌7時

 私がお兄ちゃんの部屋へ行くとお兄ちゃんはPCの前でキーボードを打っていました。

「あの……お兄ちゃん、徹夜ですか……?」

「ん? ああ、一応お前に養ってもらってるしな、形はどうあれ協力位するさ」

 そう言ってお兄ちゃんはコードをUSBメモリに入れて渡してくれました。

 お兄ちゃんの優しさが目にしみますね……


 朝食を終えて、学校に行き、バイト先のソフトハウスで修正コードを渡すと、『なにこれ? まともに動くんだけど! すごいわね、できるなら初めから言ってよ』とのことでした。

 私は「そのくらい余裕ですよ」と答えましたが、その顔が笑っていたかは定かではありません……

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ