プロシージャの名前(上手くいかなかったお話)
物づくりには、「モジュール化」という手法があります。
ざっくり言うと、「標準化した部品の組み合わせで製品を設計する」ことのようで、私は勝手に「レゴブロック」をイメージして理解しています。
歯車の設計にも、「モジュール」が登場します。詳細は割愛しますが、歯車の基準円直径を歯数で割ったものです。歯車の設計において、大変重要なものです。
- 標準モジュール
- クラスモジュール
- などなど
同じ「モジュール」という言葉であっても、分野が違えば競合することはなく、お互い上手く棲み分けることが出来ます。
ところで最初の「モジュール化」では、等比数列を用い選択しうる数を制限することで、無限の組み合わせが発生することを避けようとします。私もこの手法を用いて、業務に登場する「ポンプ吐出量の選択肢」を幾つかに制限することを試みました。例えば、こんな感じです。
- 10ℓ ⇒ 10ℓ
- 15ℓ ⇒ 20ℓ
- 22ℓ ⇒ 20ℓ
- 28ℓ ⇒ 30ℓ
- 31ℓ ⇒ 30ℓ
この例では、5種類あったものが3種類に集約されていて、管理のし易さに繋がります。
折角なので、欲しい流量がどこに集約されるか簡単に求めるユーザー定義関数を作成することにしました。関数の名前ですが、日本語で書くならばこんな感じです。
「モジュール化したポンプの吐出量」
引数は、以下の通りです。
- モジュール化する前の吐出量
- ルナール数(※シャルル・ルナールさんの名前に由来)
ルナール数は、JISにおいては「標準数」であり、選択肢の「とびとび具合」を決めるものです。R5,R10,R20,R40のように数が増えていき、大きくなるごとに間隔が細かくなっていきます。
まず関数に、名前を付けてみました。
Public Function CalcDischargeAmountOfModularizedPump(original_discharge_amount As Double, _ renard_number As Double) As dolube
・・・長い。余りにも長すぎる。これはもう、自分にだけ通じれば良いと割り切ってしまいましょう。
Public Function ModulizedFlow(original_flow As Double, _ renard_number As Double) As dolube
直訳すると「モジュール化した流れ」。分からなすぎますね。さらに気になるのが、ルナール数です。
- renard が「ルナール」と読めない。
- W(ワット)やA(アンペア)のように、人名由来の単位や数は大文字で始めたい。
などの理由から、個人的には相当気持ち悪いです。かといって、JISの「標準数」に倣い
standard_number
にしてしまうと、もう何のことかわからなくなります。「モジュール数」にすると、歯車のことと勘違いする人がいるかもしれません。悩むところではないのに、悩んでしまう。悩んでいる間にも労務費は発生し、刻一刻と無駄なお金が流れ出てしまいます。さて、どうしたものか・・・。
悩んだ末、たどり着いたのがこちら。
Public Function モジュール流量(元の流量 As Double, ルナール数 As Double) As dolube
今回はついに、工夫することを放棄してしまいました(敗北!)。しかも、日本語になっても分かりにくいというオマケつきで。
やっぱり名づけは難しい、というお話でした(きかんしゃトーマス風)。
参考まで。