「mハンガリアン記法」について自ブログでも発射!!

以前から反対していましたが

Jake WhartonさんはTwitterを使っています: "Someone, somewhere made the decision to use hungarian notation for Android Java sources. I think they owe the community an apology."

ついに自ブログでも言及しています.

Just_Say_mNo_to_Hungarian_Notation_-_Jake_Wharton

Just Say mNo to Hungarian Notation - Jake Wharton

「Androidのサンプルコードが利用している」
→ サンプルコードはAPSPで生まれそのAOSPスタイルに固執しているだけ.

「コードレビュー時に役に立つ」
→ 変更時に更新忘れしたものかもしれない.

「開発時に役立つ」
→ IDEがそれぞれ正しく表示してくれる.
→ 変更忘れが発生する.

「Google のようにコードを書きたい」
→ GoogleやAOSPの一部の会社はハンガリアン記法を禁止している.

WikiPedia をみてみる.

システムハンガリアンを使っているソースコードを修正してデータ型を変更した際、同時に変数名も変更するコストがかかる。変更を怠ると、たちまち不整合となり、保守の障害となるだけで一利もない。

C++やC# のような言語では型付けが存在するためにシステムハンガリアンを使用することによる利点はない。移植性を阻害する。

総称型、メタプログラミングとの相性が悪い。

いわゆる良書と呼ばれるようなC++本で、現在システムハンガリアンを採用している例が皆無。

かつてMFCにおいてハンガリアンを全面的に採用していたMicrosoft自身が、.NET Frameworkではハンガリアンを禁止している。

日本では、情報処理技術者試験などのC言語の問題でシステムハンガリアンが使用されていない。

結局,「IDEの進化」が大きく影響しているといえそう.

間違えたコードが機械的に検出される手法が利用可能ならば、間違えたコードが間違えて見える手法より明白に勝る。

エラー検出に関連する技術は、ハンガリアン記法が考案され成功を収めた当時と比べ大きく進歩している。

コードを間違える原因の中で、変数の意味(=型)の取り違えに由来するものが下位にあるとは言い難い。

ハンガリアン記法 - Wikipedia

なので, Android Studio での設定を.

[Preference] から.

color

prefix

技術も開発手法も変わっていくものなのですね.

Android Code Style で インデントはスペース何個?


Android世界有名技術系タレントたちのブログをまとめて取得する

どうしても日本語の記事では量が少なく, 更新タイミングも少し遅くなる.

こんな有名なタレント群のブログをまとめてくれています.

ziem_android-development-blogs

ziem/android-development-blogs

OPMLやCSVでダウンロードできるのでRSSリーダやその他クライアントで一括で取り込んで読みましょう.

RSSフィード情報をOPML形式でインポート/エクスポートする | feedlyの使い方 | ぼくらのハウツーノート

私の Feedly はこんなんなりましたけど.

Android_Development

しかしこの人たちはすごいなあ.

あの「Hacker News」で ベストなストーリーを見つける方法


あの「Hacker News」で ベストなストーリーを見つける方法

おもしろ技術系ネタ満載な「Y Combinator」が運営する「Hacker News」.

スタートアップやハックのニュースが主体で、まさにこのブログでカバーしてる領域だからだ。こちらで一度も名前聞いたことないスタートアップの情報を掘り出す場としてはベストに入る。さらに素晴らしいのが、サイトに寄り付く仲間に嫌な野郎がいないことだ。コメントを見ても参考になる情報や考えさせるもの、面白いのがほとんどだ。

私が朝一番に読む『Hacker News』という無名のサイト | TechCrunch Japan

Little Known Hacker News Is My First Read Every Morning | TechCrunch

サイトを見る限り, 「人気記事順」や「リンク数順」の記事カテゴリーリンクが見当たらない.

Hacker_News

しかし, それらを確認できるアプリがあったりする.

20160107-224126

Hacker News Reader (翻訳) - Google Play の Android アプリ

調べてみると, サイトのトップページからのリンクはないが, 存在している, 公式で.

Top_Links___Hacker_News

Top Links | Hacker News

ここらから見ていくのがいいのだろう.


Android 次期バージョン N は Oracle Java を使わないのか?

Diff_-_51b1b6997fd3f980076b8081f7f1165ccc2a4008^__-_platform_libcore_git_-_Git_at_Google

技術ネタ満載の YCombinator の運営する「Hacker News」で昨日から話題になっています.

Google confirms next Android version won’t use Oracle’s proprietary Java APIs | Hacker News

このへん素人目にも想像できるのは「著作権料を払いたくない」という理由.

So in order for Google to avoid paying that royalty going forward they need to move to OpenJDK quickly with their next release, with the belief that using Oracle's GPL JDK implementation also gives them a license to the API (which is somehow separately copyrightable? The Federal Circuit is a mess).

ここらの適用範囲などの法律の話は金額のわりに明快でなく庶民には分かりづらい.

実際, 開発中のソースコードではどのようになってきているのか.

Mysterious Android codebase commit | Hacker News

This diff is more explicit about what's going on:
https://android.googlesource.com/platform/libcore.git/+/aab9...
Change dependency from libart -> libopenjdkjvm.
There are also diffs adding lambda support, tweaking various classes for compatibility with applications that use reflection to access internal capabilities, and fixing lots OpenJDK compatibility bugs.

確かに, OpenJDK に移行してるようにも見えるが.

In the context of the recent juniper attack where some unauthorized code was committed without anybody noticing for years, it seems like it would be easy to hide a backdoor in such a big commit.
How do you go about checking the integrity of the code when you have so many files?
8902 files were changed, most added, and the commit says it's just importing openJDK files. Is there anybody checking that the source file imported haven't been modified to include some kind of backdoor?

はっきり「OpenJDKに移行を進めている」とは言い切れないのか.

WEBでは見づらいのでアプリで.

Hacker News Reader (翻訳) - Google Play の Android アプリ


【急げ!!】Chromecast ユーザーにまたもや 無料クーポン配布中!!

現在配布中です.

日本では, 映画1本とNetflixの1ヶ月無料が特典のようです.

Chromecast Offers

Chromecast

Chromecast 2

あれ, テレビをONにして再度.

Chromecast 3

映画_を1_本プレゼント_-_Google_Play_の映画

パソコンのブラウザChromeからでないと無理なのかも.

いつもありがとうございます.