コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

アプリケーションプログラミングインターフェースの使い心地

APIを考えるときはインターフェイスの使い心地がよくなるように考えましょうという話。

使い心地の良いインターフェースとは

きのこ本に以下のようなことがある

良いインタフェースとは次の2つの条件を満たすインタフェースのことです。 正しく使用する方が操作ミスをするより簡単 (中略) 誤った使い方をすることが困難 - 正しい使い方を簡単に、誤った使い方を困難に | プログラマが知るべき97のこと

ユーザーインターフェイスの例が強く上がっているのでUIにおいての文脈で考えすぎるがAPIもアプリケーションインターフェイスなのでこの話があてはまる。 APIで活かすときには次のようなアイデアが思い浮かぶ。

2つの良さを踏襲するためのアイデア

APIに誤った使い方を困難にするにはどうすればいいかはいろいろアイデアがある。

  • パラメータは最低限にする、最低限にすれば誤って使うことはないし、操作ミスはしようがない
  • パラメータは単純にし、複数な意味を持たせない
  • 読み違いを起こしそうな名付けはしない、そのまま読めば正しく使える。
  • 汎用的にしすぎない、汎用的にすると限られた入力項目で多くのことをやろうとして煩雑になるし、責務がぼやけやすい

などなどがある

これを踏襲することの良さ

これを実践していくと、単純にひとつひとつの処理が単純化していったり、テストが書きやすい状況がかなり作られていく。プログラムとしては非常に扱いやすく、見通しがよくなる。

短くまとまり、見通しの良いプログラムは使う側としても誤った使い方が思いつかないから直感的に使えるし、用途によって別々に分かれてくるのでその場にあった最適な道具を選んで使っていくように、使い心地がよいインターフェイスになる、と思う。

参考リンク