読書会(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の完全な書き直し」から。


[ 戻る ]