カラダ持ってくれよ!3倍難易度だっ!
難易度3倍の法則
再利用可能なモジュールを作るのは、単一のソフトウェアのモジュールを作るのに比べ、3倍の難易度がある
再利用可能=共通の、とも言えます。
単一のソフトウェアのモジュールであればそのソフトウェアの要件だけを満たせばよいですが、広くあらゆるところで使われることを想定したモジュールでは、どういう使われ方をするかするかあれこれ想像して作らないといけません。
例えば何かの金額に関するモジュールなら
- 為替の対応は必要か
- 為替の情報はどう取るか
- 為替はどこまで対応するか
- 税率の対応は必要か
- 税率の情報はどう取るか
- 3桁ごとのカンマ区切りの文字列のアウトプットは必要か
など、仕様に関して想像できることは色々出てきます。
新規のプロジェクトで最初に便利な共通関数みたいのを作るときに「どこまで便利にするか」悩みがちですよね。
YAGNIの法則につながるところでもありますが、最初からあまり作り込まないのが懸命です。結局使い始めてみないと何が必要でどこまでさせるのが適当なのかが見えてこないからです。想像で時間かけて作り込んだけど結局後で大分作り直した、または、結局使わなかった、なんてことも多々あります。
便利な共通モジュールのようなものを作るのは難易度3倍ですが、その3倍は1箇所にある必要はなく、長く時間をかけて広く見た場合での3倍にしたほうが、良いものが作れそうです。
Author And Source
この問題について(カラダ持ってくれよ!3倍難易度だっ!), 我々は、より多くの情報をここで見つけました https://qiita.com/tosiooooooo/items/e365554b0c2f4ac89b5a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .