- DroidKaigiのメモ書きを随時アップロードしていきます
- スライドは上がり次第こちらに貼ります
スライド上がっていたので公式の内容は以下をご参照ください。
http://www.slideshare.net/Nkzn/androidlint-droidkaigi?ref=http://unsolublesugar.com/20160218/134940/
発表者
- @Nkzn
- Yukiya Nakagawa
- 農業生産者向けサービス「アグリノート」
対象者
- Androidプログラミングのベストプラクティスが分からない
- 品質を保証する
Android List?
- 構文解析ツール
- Google公式
- 222個のルール
- Category, Severity(危険度), Priority
- Googleによるアンチパターン集
初学者がやりがちなミス
- LinearLayoutに並べたビューが表示されないのはなぜ?(orientation)
- 慣れたらやらなくなるミス
- horizontalの場合も明示的にちゃんと書こう
- SharedPreferenceが保存されない
- commit()をちゃんと書こう.
- commit()で書いたけどなぜか黄色くなる...?
- commit()の返り値を保存していないことでWarningが起こってる
- apply()を使う
- Toastがでない
- show()を呼んでないだけ
- なんかこのボタン押しづらい
- ButtonOrder
- キャンセルのようなものは左、本来やりたくなかた操作を続ける「OK」のようなものは右に置く
- おまけ:API Level13まではOKが左で正しかった
- このアプリ英語化して問題
- 日本語直書きNG
- レイアウトXML
- AndroidManifest.xml
- メニューXML
- Javaに日本語をベタ書きしても検出されない
- 文字列リソースに抜き出すメリット
- 多言語化するときにリソースを変更するだけで置き換えられる
- プロトタイピングでベタ書きしたものを、後からAndroid Studioのクイックフィックスを使って文字列リソース化
- レイアウトファイルのソートってどうしてますか?
- 場合によってソートすべし、必須だとは思わない
アプリが管理していた個人情報が別のアプリから見えていた!
- AndroidManifext.xml
- ExportedContentProvider
- Dropboxの2011年の話がよくネタになっている
- providerタグには必ず
android:exported="false"
を付けましょう!
初学者がやりがちなミス part.2
- EditテキストでなんかめっちゃWarning出てるんだけど!
- TextFields
- アイコンで怒られる?
- この辺から静的解析の領域を抜けてくる...
- ステータスバーやActionBarの色をマテリアルデザイン
- 3点リーダをピリオド3つで書くとwarning
- Typograpy
- フォントによってはピリオドを都合よく...と見えてくれるかどうか分からない
- 3点リーダ文字として書く、ISOの文字番号を使う
エンジニアの言い分
- Googleが良くないこととして回避しているので、相対的にアプリの品質は上がる
品質指標に使う場合
- 優先度が低いルールは事前に設定でignoreしておく
- プロジェクトごとに大切にするルールを切り分ける
エンジニアの方へ
- abortOnError, checkReleaseBuildsはfalseにしないで!
- Android Studioがソースコードに黄色いのとか赤いのとか付いてたら、マウスオーバーして何が起きてるかみよう!
- 直し方を聞こう、知ろう
- 200個のルールをマスターしよう