📝

読む人のことを考えたAPI設計(脳に収まるコードの書き方を読んで)

2024/08/22に公開

はじめに

タイトルの通り、「脳に収まるコードの書き方」のAPIの設計の章を読んでなるほどと思ったのでそれに関してのメモです。

読む人のために書く

読み手を意識してコードだけで理解できるよう意識して書くのはあたりまえのことかと思います。
命名をきちんとするだとか、想定外の副作用が発生するような名前、実装にしないだとかよくあることが記載されていましたが、その中でも意識したことなかったなと思う点がありました。
それが 「名前をXで置き換える」 です。

メソッド名をXで置き換えてもそれ以外の情報からなんとなくそのAPIが行うことを推測できるか、というものですが、そういう点を意図的に意識してAPIの設計はしていなかったなと。

例えば、以下のような場合、
Xxxは戻り値を返さないから何かしら引数の情報を元に副作用がある処理を行う可能性がある
Yyyは引数のidを元に対象のデータを返してくれる、なければnullが返却される
といったことが推測できるようになるみたいなことです。

interface Repository
{
    void Xxx(Data data);
    Data? Yyy(int id);
} 

そのうえで名前以外の情報からの推測が難しいような場合は、できるだけいい名前をつける努力が必要ということでした。
(他から推測できるからといって適当な名前にしてよいわけではありませんが)

以上です。

Discussion