そのメソッド細かすぎぢゃね?

再利用されない粒度の細かいメソッドは必要なのか.

- 長過ぎるメソッド
- コメントがなければ目的が分からないメソッド

以下のサンプル.

void printOwing(double amount) {
  printBanner();
  System.out.println(“name:” + _name);
  System.out.println(“amount:” + amount);
}

をこうする.

void printOwing(double amount) {
  printBanner();
  printDetails(amount);
}

void printDetails(double amount) {
  System.out.println(“name:” + _name);
  System.out.println(“amount:” + amount);
}

うまく命名された細かいコードが好ましい理由

- 他のメソッドから使える可能性が増える
- 上位のメソッドがコメントのように読める
- オーバーライドしやすい

その他

- 良い名前がつけられないと有効ではない
- 抽出されるコードよりメソッド名が長くてもよい
- 大きなメソッドに慣れていると慣れるまで時間がかかる

「明快さが向上するならそうすれば良い」

シンプルなサンプルコードに対してやけに気にかかる言葉が連続する.

以下から抜粋.

Refactoring

Martin Fowler


Chromecast の パソコン版の設定アプリはもう使えない?

ネットワークの設定変更をしようとしたのですが.

きっと使えないのでしょう.

Chromecast_App

Chromecastアプリのバージョンが古すぎます
最新バージョンに更新してください。

と表示されて, 更新しても, しなくても, 以前利用できた「設定」ボタンクリックで進むことができません.

同じメッセージの繰り返しです.

このパソコン版の設定アプリの以下のような旧ダウンロードページ.

Chromecast_old

今では, この画面からもう「パソコン版の設定アプリ」は姿を消しているようです.

Chromecast

Chromecast

ということは, もうパソコンのみでは使えないということかな.


最近の「Android System WebView」で追加されている機能

少しWebViewのまわりの挙動が変化している気がしたので調べてみた.

これ.

20151011-142959

AndroidシステムのWebView - Google Play の Android アプリ

Android 5.0 以降に対して, コンポーネントとしてのWebViewを切り離してPlayStoreで更新していくというもの.

このパッケージを入れている場合と入れてない場合の WebView にどれくらい差がでてきているのか.

Android 5.1 実機で簡単に機能を比べる.

…
mWebView = (WebView) findViewById(R.id.web_view);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("https://html5test.com/");
…

HTML5test - How well does your browser support HTML5?

入れていない場合.

20151011-143135

入れている場合.

20151011-143336

10ポイント以上の差がある.

ポイントの大きなもの順に追加された機能をみる.

Service Workers (+10)

20151011-143539

Service Workers Nightly

Introduction to Service Worker: How to use Service Worker - HTML5 Rocks

Service Workerは、最近動きのあるブラウザテクノロジーの中で最もホットな新機能の一つです。ネットワークプロキシとしても働くService Workerは、従来のAppCacheの欠点を克服し、真のオフラインファーストを実現できる技術として期待されています。

そんな今大注目の Service Workerですが、実はAppCacheの代用用途だけでなくバックグラウンドのコンテンツ同期やプッシュ通知などの応用が検討されています。

Service WorkerとHTTP/2が切り開く新しいWeb Pushの世界 - ぼちぼち日記

Clipboard API and events (+5)

20151011-143855

Clipboard API and events

Readable streams (+3)

20151011-144101

Streams Standard

Content Security Policy 1.1 (+2)

20151011-144308

Content Security Policy Level 2

セキュリティ上の機能だけでなく, コンテンツ同期やプッシュ通知, クリップボードやストリーム配信関連機能などアプリ利用者に直接影響するものが追加されているようです.

多数のAndroidユーザーにも分かりやすい「入れておいたほうがいいアプリ」となってくるのだろうと思います.

AndroidシステムのWebView - Google Play の Android アプリ