関数は「どう呼ばれうるのか」も考えて仕様を設計すると良い

問題。文字列の指定位置にあるマルチバイト文字が何バイトで構成されているか判定する関数を考える。その関数の引数として、与える文字列の長さに等しい値を、判定すべき文字の位置(インデックス)として指定した場合、この関数仕様は以 … 続きを読む 関数は「どう呼ばれうるのか」も考えて仕様を設計すると良い

コーディングパターン: ループ条件の定石を覆して良いことも

昔のメモを見つけたので投稿しておきます。 手続き的なプログラミング言語ではループをよく書くと思いますが、大半は定型パターンがあります。たとえば配列のようなものから特定の条件を満たすものを検索する場合、普通は配列の要素を列 … 続きを読む コーディングパターン: ループ条件の定石を覆して良いことも

「ペンをカスタマイズする人はいない。ペンの使い方をカスタマイズするのだ」

電子書類の整理をしていたところ古い読書メモが出てきました。何かの縁ということで、掲載。2009-05-17 16:29 A.D.ノーマン著「エモーショナルデザイン」より: ペンをカスタマイズする人はいない。ペンの使い方を … 続きを読む 「ペンをカスタマイズする人はいない。ペンの使い方をカスタマイズするのだ」

丸投げ

ソフトウェアは設計上の階層構造を持つことが多く、ほぼ間違いなく最上位をアプリ層(そのアプリ固有の処理)とした複数の階層を重ねた形になっています。ごく単純なアプリの場合は最上位のアプリ層のみが存在すると解釈すれば、やはり階 … 続きを読む 丸投げ