条件でdefinedしてからdefineするコードって、二重定義のエラーを防止するためにやってるんでしょうけど、
これって意味あるんですか?
定数がすでにあった場合定義されませんが、期待している値じゃなかったらバグの原因になるだけなので、
逆にエラー出したほうがいいと思うんですが。