2007年6月8日

「もしも」を想定する - コーディング編

もしもを想定する、の続き・・・というか書いていて思い出したことです。
もしもを想定することは、プログラムに結びつければisNullなどの値テストに相当する事だと思います。
その昔、学生だった頃にゲームを作っていたときに成績や操作設定をファイルに保存していました。いわゆるセーブデータです。
ファイルというのは、バイナリエディタで書き換えが出来ます。
セーブデータをいじられればチート(改造)になってしまいます・・・が、そんなことの対策まで学生の自分は対策できません。
大方、ゲーム設定の境界値を跨がないようにすることを入念にやっていました。
はっきりいってやりすぎです。
コーディング規約で「ポインタのテストは必ずすること」というルールがありました。
テストすることはいいのですが、システムが大きいため、数多くのレイヤで同じテストをします。
あるメンバが「意味があるのか? 読みにくいだけだ。タイムクリティカルなときには負荷にもなる」と言ったことからチーム全体で検討することになりました。
結論は「意義を判断できる人間がコードを書いた人だけ。怖いので外すのは止めよう」ということになりました。
とはいえ、isNullもやりすぎると読みにくくて煩雑です。
以上。思い出どころか、ここ最近まで問題になったネタでした。

0 件のコメント: