読書会(APIデザインの極意)第6回議事録
[ 戻る ]
=====================================================================================
Java読書会BOF 「APIデザインの極意 Java/NetBeansアーキテクト探究ノート」を読む会 第6回
=====================================================================================
.. csv-table:: 開催概要
"日時", "2015年3月14日 10:00 - 17:00"
"場所", "川崎市教育文化会館 第3会議室"
"出席者(敬称略)", "高橋徹、遠藤、平山、吉本、今井、岩室、松永、井上(2名)、高橋智宏(書記)"
第11章 API実行時の側面
----------------------
11.5 メモリ管理
---------------
* JavaのCompressedOops(圧縮OOPS)では、64bitのポインタサイズではなく、32bitのサイズで処理できるように最適化しているらしい
* https://wikis.oracle.com/display/HotSpotInternals/CompressedOops
* http://www.oracle.com/technetwork/jp/articles/java/compressedoops-427542-ja.html
第12章 宣言型プログラミング
---------------------------
12.1 オブジェクトを不変にする
-----------------------------
* GUIライブラリ(フレームワーク)で不変オブジェクトライブラリは使いづらそう??
* 例: Concurrent Clean
* P244上部のソースコードで、prevからpに変わっている
* 1行で書きたいから?
* infoからinfにも変わっている
* 不変オブジェクトとDIの相性が悪い
* Java 9に入れたい機能として「メモリローカリティ」という機能
12.2 不変な振る舞い
-------------------
12.3 ファイルの互換性
---------------------
第13章 有害で極端な助言
-----------------------
13.1 APIは、美しくなければならない
----------------------------------
13.2 APIは、正しくなければならない
----------------------------------
* Java 7はまもなくEOLになるが、Java 7ではいろいろなAPIが追加された
13.3 APIは、単純でなければならない
----------------------------------
13.4 APIは、優れた性能でなければならない
----------------------------------------
13.5 APIは、100%の互換性でなければならない
------------------------------------------
* 「互換性が無い」「100%では無い」というのはどういうこと?
* 処理が速くなると不具合が出るから?
* オーバーフローが発生するか否か?
* 異常系の互換性も含むか?
* publicメソッドが派生クラスでオーバーライドされている可能性があるから!! P182を参照
13.6 APIは、対照的である必要がある
----------------------------------
第14章 API設計のパラドックス
----------------------------
14.1 API二重思考
----------------
14.2 目につかない仕事
---------------------
14.3 安定APIを約束する恐怖を克服する
------------------------------------
14.4 保守費用を最小限にする
---------------------------
第15章 API宇宙の発展
--------------------
15.1 壊れたライブラリを蘇生する
-------------------------------
* 「TCK」とは?
* 一般的な用語としての「テスト互換性キット」のこと。P164からP167を参照
.. note:: 次回は p.282「CookieSetの完全な書き直し」から。
[ 戻る ]