もう一つ別の作り話をしてやろう。

今回は、read_data1、read_data2、read_data3で
共通化出来る処理があった!というお前にとっては好都合な状態がスタートだw


read_data1("file1.ini"); はfile1.iniから必要な部分のみのデータを取ってくる
read_data2("file2.ini"); はfile2.iniから必要な部分のみのデータを取ってくる
read_data3("file2.ini"); はfile3.iniから必要な部分のみのデータを取ってくる

すべてini形式風だ。だから汎用のライブラリは使えなくても
ini風ライブラリとして共通部分が作れる。
read_ini_modoki()という共通関数が出来ました! この関数は3回使います!

数日後・・・仕様変更でfile2.iniが不要になりました。
数日後・・・仕様変更でfile3.iniが不要になりました。

read_ini_modoki()という共通関数は1回しか使われなくなりました。

お前の「1回しか使われない関数は展開する」を守れば、このread_ini_modoki()は
消すってことになるわけだが、それでいいんだな?

念の為に言っておくが、俺の考えは、
「たとえ一回しか使われなくても、論理的に意味がある固まりになっていれば、その部分を関数に抜き出せ」だ
(複雑度が下がるから)