前回書いたように、swiftを学び始めました。
iPhoneのアプリ開発が目的で、先日紹介した本を元に、いくつかのアプリを作ってみて、思った以上にiPhoneのアプリ開発が手軽なものだとわかったのですが、一方で違和感がありました。
目次
■画面設計をVisualツール(storyboard)で行うが、それはソースコードの形で残らない。
.storyboardというファイルはテキストエディタで開いてみるとXMLファイルとして実装されているようですが、内容の理解は難しそうです。できれば、画面設計も、他と同様にソースコードで管理したいと思いまいした。
■やたらに、クラス名が長い。
swiftの言語仕様によるものではなく、appleのクラス設計の問題なのかもしれませんが、非常に名前が冗長でわかりにくいと感じました。単純に英語力の問題かもしれませんが…
このネーミングルールで関数名や変数名をつけると、可読性の悪いソースコードになってしまう気がします。
というわけで、以下の2つの方針を立てました。
■アプリ開発の画面設計には、storyboardを利用しない。
最近開発を始めた僕は知らなかったことですが、元々この画面設計ツールは最近のXcodeで使えるようになったもので、ネットを調べるとstoryboardを使わないソースコードの例もあるので、そちらに従ってみようかと思います。(画面上に配置する部品を配列で扱えるなどのメリットもありそう)
■変数名、ファイル名、クラス名、メソッド名等は原則日本語で表記する。
上記入門書に変数名等を日本語使用可と記述があり、やってみたところあまり問題がおきませんでした。(当初は、上位クラスの継承しなければならないメソッド等まで日本語にしてしまってうまくいかなかったりしましたが)
自分のアプリを将来外国人がメンテナンスしたり、読む事はあまり想定されないですし、何より可読性が高く、ソースコードの一行あたりの文字数が減るのは、大助かりです。
ネットで検索してみると、下のようなエントリもありました(このエントリでは、swiftに言及はされていませんが)
デメリットとして想定されるのは(ネットで見る限り)、以下のようなポイントのようです。
- ツール類で、2バイト文字に対応していないものが、発生するかもしれない。
- 外国人が読めない。(オープン性がなくなる)
- いちいちIME立ち上げるのがめんどい….
ま、なんとかなりそうな気がします。(IMEの立ち上げなんて、文章書いてたら普通にやっていることで、それを面倒って言うなら日本語使うなよ…って気がするのですが)
とりあえず書いているソースコードは、以下の様な感じです。