アプリを移植してて気がついたこと

アプリを移植してて気がついたこと

他言語の予約語は使わない

javaでクラス内を空っぽにする関数にdeleteという名前の関数を使用していたけど、
当然Cに移植する際にぶつかってしまい書き換える必要が出る。
他の言語で予約されている文字列は可能な限り避けたほうがよさそう。

class Hoge{
public:
	void delete(){}//error
}

言語や開発環境で用意された定数をそのまま使用しない

iアプリはDoJAのクラスライブラリを使用して作るわけだけど、携帯電話固有のアスタリスクボタンなどを定義している定数を使うのは避けた方が良い。
(Display.KEY_ASTERISK とか)
その環境のみで使える定数をそのままあっちこっちのクラスに書きなぐっていると、移植の際に全部書き換える必要が出ます。
全部置換してしまえばいいんだけど、それより自分で定数を作ってしまう方が良い。

interface MyKeyState {
	int KEY_0 = Display.KEY_0;
	int KEY_1 = Display.KEY_1;
	//
	//以下つづく〜
	//
}

こうすれば移植する場合でもMyKeyStateを書き換えれば済むと思う。


今更気づいたんだぜ