Museumソフトウェアエンジニアのブログ。ライブラリを設計するときに気をつけるべきことが書いてある。始めたせいもあってか、全体的にさらっとまとめてしまった・・・。順序など、一貫した規約を維持するようにする。利用する単語なども統一しておく。undefinedこれらの値は「値なし」の場合で使うべきで、アプリケーション/ライブラリごとに特別なセマンティクスを持たせないように注意しよう。述べたように関数やメソッドの引数の順序を揃えることは需要だが、大量の引数を必要とする場合にはオプションオブジェクトを利用しよう。オプションオブジェクトを利用すると、引数指定に名前を利用できるだけでなく、デフォルトパラメータの呼び出しも分かりやすくなる。関数の実装は以下のようになる。空文字列を許容するため真偽値比較をしている点に注意する。実装を簡単にするため、多くのライブラリやフレームワークが提供している拡張(extend)を利用しよう。オブジェクトのプロパティをマージする関数である。これを利用して「オプションオブジェクトのデフォルト値とユーザーから提供されたオプションの値を併合する機能」を実装することができる。値をコピーする」という素朴な実装でも問題ない。方が分かりやすいのでなるべくステートレスで実装する。ダックタイピングが利用できるから無理して継承する必要ないよ、というお話。ダックタイピングができない。いう命題が正しいかは自分の知識ではよく分からないなぁ...。呼ばれる系)言語⇔コンパイル系言語の議論に置きかわっていることが多いような気がする。コンパイルで型チェックをやることが多い(?)からな気がするけど。項目58:配列と「配列のようなもの」を区別しようメソッドのオーバーロードを利用するとき、不確実な推論で型を推測しないようにしよう。Testing)」と呼んで非推奨な行為である。型強制が自動で行われるので、防御的プログラミングを行って型強制を防いで例外を送出すると有用な場合が多い。メソッドのオーバーロードを利用する場合は特に有用である。防御的プログラミングの実装例としてガードオブジェクトがあげられる。本には実例が載っているのだがまとめる気力がなくなったのでこの節はこれで終了。して使いやすくなるのでできるだけサポートしよう。メソッドカスケードという構文らしい。"ddd"これで、後は「第7章:並行処理」だけになった。JavaScript』を読んで(項目43~52)久しぶりの更新。一気に第5章全部まとめた。JavaScript』を読んでシリーズ。手習い』はじめました。Museumスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。