悪いAPIは伝染していく(3) [プログラマー現役続行]
以前、「悪いAPIは伝染していく」「悪いAPIは伝染していく(2)」という記事を書いています。
きちんとしたAPIを持つライブラリが最初に作成されたとして、そのライブラリを拡張する際に、元々の作成者とは別のエンジニアが悪いAPIへと改悪していくことがります。追加されたAPIのドキュメントを書かない、さらに、追加されたAPIのための実装の詳細を公開してしまっているとか。
実装の詳細を公開している理由が非常に単純で、本来のAPIのテストコードをきちんと作成するのが面倒なので、実装の詳細である情報を取り出して確認しているということだったりします。
開発言語に関係なく、APIをきちんと設計できて、テストコードもきちんと書けることは、ソフトウェアエンジニアに求められるスキルだと思います。
【参考図書】
翻訳本は、こちら
最初からきちんとしたAPIを作成できるようにはなりませんが、優れたAPIを作成するために、様々な学習を続けて実践していくことがソフトウェアエンジニアには求められると思います。「サラリーマンエンジニア」であれば、API設計に必要な書籍を読むことなく、悪いAPIを伝染させたり、APIを改悪していくことになります。ほぼすべてを新規に開発するプロジェクトでは、「悪いAPIが浸食していく」ということが起きたりします。
きちんとしたAPIを持つライブラリが最初に作成されたとして、そのライブラリを拡張する際に、元々の作成者とは別のエンジニアが悪いAPIへと改悪していくことがります。追加されたAPIのドキュメントを書かない、さらに、追加されたAPIのための実装の詳細を公開してしまっているとか。
実装の詳細を公開している理由が非常に単純で、本来のAPIのテストコードをきちんと作成するのが面倒なので、実装の詳細である情報を取り出して確認しているということだったりします。
開発言語に関係なく、APIをきちんと設計できて、テストコードもきちんと書けることは、ソフトウェアエンジニアに求められるスキルだと思います。
【参考図書】
Practical API Design: Confessions of a Java Framework Architect
- 作者: Jaroslav Tulach
- 出版社/メーカー: Apress
- 発売日: 2012/06/06
- メディア: ペーパーバック
翻訳本は、こちら
APIデザインの極意 Java/NetBeansアーキテクト探究ノート
- 出版社/メーカー: インプレス
- 発売日: 2014/05/23
- メディア: Kindle版
EFFECTIVE JAVA 第2版 (The Java Series)
- 作者: Joshua Bloch
- 出版社/メーカー: 丸善出版
- 発売日: 2014/03/11
- メディア: 単行本(ソフトカバー)
2014-03-27 06:38
コメント(0)
コメント 0