kazurof weblog

技術ネタのメモなどを並べます

Titanium もくもく会 #17 でLTやって来ました。

一昨日の話ですが、Titaniumもくもく会 #17 : ATND でLTやって来ました。

発表ネタはTitanium Alloyでのトラブル事例です。3回も似たような事やっててネタが尽きないというのもどうかと思うんですが。(汗) Titaniumは当初はiPhone向け開発環境であったらしく、windowsがまだこなれてない感触です。でも、そういうのを差し引いても小トラブル多いなーという感じがあります。昔からTitaniumやっててサービスにまでしてる人はほんとにえらいと思います。

あと今回プレゼンで小トラブルがありました。私は黒曜石*1なるものを愛用しているのですが、突然動作しなくなりました。原因は、うっかり押したblackoutボタン(bキーに相当)を、マシンのIMEが拾ってしまい、変換状態になっていたようです。PC画面左下に変換のUIが出てました。その後の入力(ページ送り)は一切受け付けません。マウスでつつくか何かして入力状態を解除して解決しました。*2 これからはプレゼンスタート前はIMEを忘れずに切るようにしようと思います。あと不用意にblackoutを押すのも避けないといけないですね。パーム(手に隠す)を意識しすぎて握りこんでしまうのかもしれない。

あとやっぱり、プレゼンするときは体調を整えて元気なときに演るべきだったなと。今週は忙しくてちょっとヘロヘロ気味でした。リポDでも飲むなりしないとなあ。

他の方のLTについて

TiShadow というものが発表ネタにされていました。まだ全然よくわかってませんが、ネットワークの向こうの端末に開発途中版をインストールできたらそれは便利かなと思います。SQLite以外のデータ永続化ライブラリもあるのですね。でも今のところはSQLite一択かな。iPhone,Androidクロスプラットフォームネタはもっと詳しく話を聞きたかった。終わったあと発表者さんに話をしてみればよかったかも。

*1:フィンガープレゼンター│コクヨS&T

*2:プレゼン途中にいきなり発生して1分強ぐらいプレゼンが中断した。とほほ

GoogleのJavaコーディング規約について

やや旧聞な感じですが、GoogleJavaコーディング規約(Google Java Style)について読んだ感触を並べてみます。

ドキュメンテーションコメント」という言葉は使わない。

Sunの文書では、

  1. APIリファレンスを作成するjavadocツール、 
  2. javadocツールに処理されるドキュメンテーションコメント。 (/* ... / こういうの) 
  3. 生成されたAPIリファレンス、 

をそれぞれ分けていて、2にドキュメンテーションコメントという名前をつけていました。googleの規約では単に2番を javadoc と呼ぶようです。慣習上の名前をそのまま規約化したということですね。

インデントはスペース2個。けど4個の場合もある。

あー、なにげに画期的かも。小さいことはいいことだ。

1行は80文字か100文字

これ大丈夫でしょうか。インデント2個ならいけるのかな?元々の80の根拠はかなり古い歴史的理由なわけで、ここはひとつ120文字ぐらい許可してもいいのではとも思います。守れるかな?import packageには及ばないのはそこそこの落とし所かも。

クラスメンバーの順序は特にルールはない。けどオーバーロードしているものは連続させる。

staticなものが先とか、コンストラクタはメソッドの先とか考えることはできて、ルール無しは緩すぎ?とも思うけどまあそんなものかも。

Loggerは定数ではない。static finalにはしない。

いやー、そうかなー。機械的にチェックさせるには、static final なものは全部定数扱いにしたほうが良いと思うけど。ルールは単純で機械でもついてこれるものがいいよ。Checkstyleとか。

@return よりも、本文を書く。

これはいい。さすがGooglejavadocタグよりも要約のところになにか出てくるほうが目立つしね。


以上、それなりによくまとまっているなという印象でした。1行100文字ルールはどこまで行けるかなー?下手をすると、クラス名がバッティングして完全修飾クラス名をコード中に書かざるを得なくなったら守れなくなりそうだけど。

あと、英語の原文を無理やり翻訳してみました。間違いもあろうと思います。参考までにどうぞ。

GoogleJavaStyle-ja/GoogleJavaStyle-ja.textile at master · kazurof/GoogleJavaStyle-ja · GitHub

いずれ、Checkstyleの定義ファイルとか、Eclipseのコードテンプレート設定ファイルとかもつくって上げたいと思います。時間が取れれば。。。