パスワードを忘れた? アカウント作成
14195976 journal
日記

dotkuwaの日記: DXが過去の焼き直しにならない為の案 1

日記 by dotkuwa

DXが過去の焼き直しにならない為の案を思いつきました。
 
それは、
・設計資料においても「一般的な方から例外的な方へ記述する」を止める
事です。
 
先日、
・自分が管理しているCentOSのサーバー(Squid)の引き継ぎ資料
を作成しましたが、CentOSのスクリプトは、
・上から下へ設定を1行1行記述する
・プログラム言語のブロック的な制御はほとんどなく、
 行ごとのガード節みたいな記述のみ
です。例えば、
http_access allow 条件(要求元のIP範囲や、要求先のURLなど)
http_access allow 別の条件(同上)
http_access deny all (それ以外は全部拒否)
の様な感じです。
プログラム言語のブロック的な制御が殆ど無い以上、
・例外的な方から一般的な方へ記述する
以外に手は有りません。
 
ーーーーーーーーーーーーーーーーーーーー
 
さて、設計資料は、
・「一般的な方から例外的な方へ記述する」のが常識
です。しかしこれはダメだと思います。
もちろん、設計の当初段階から
・例外的な方を初めに思いつけ
などまでは主張しません。(TDDを信奉する人は思いつく様ですが)
しかし、設計資料が出来上がって来た段階で、初めの
「思いつく為の」思考方法である、
「一般的な方から例外的な方へ記述する」を残すのは誤りです。
 
では、なぜ誤りでしょうか? それは、
・「一般的な方から例外的な方へ記述する」と100%、隠れた例外
 が残ってしまう

からです。
「一般的な方から例外的な方へ記述する」が好きなのは、前DX時代の
「リーダー」と言われた人たちですが、この人たちは、
・隠れた例外を、「個人的に・口頭で」伝える
事を生業としていました。
もちろん、彼ら彼女らが永遠に生き、この生業をやり続ければ
問題は無く、DXなどというジャーゴンを発明する必要も有りません
でしたが、事実はそうなりませんでした。(memento mori です。)
 
・設計書に於いても、極力例外的な方から一般的な方へ記述する
ことこそ、
10年、20年経っても、設計について訳が分からなくなる事の無くなる
秘訣だと思います。

ーーーーーーーーーーーーーーーーーーーー
 
自分も昔、これに引っかかりました。上長が、
・「一般的な方から例外的な方へ記述する」設計資料通りに、
 プログラムも書け
と指示されたのです。
・入力例外を初めに書いて、それに引っ掛かったら早期にその
 プログラムはreturnし、それ以降は例外の事など忘れて、
 正常動作のみに注力するという、通常の書き方
はダメだと言われたのです。
基本的に自分は従順なのでその通りにしようとしましたが出来ず、
その上長も(自分でも実装を考えてみたのだと思いますが)
「好きに作って良い」と言い、その後は好きにさせてくれました。
(どこをどうしても無理だったのだと思いますが、自分でも検証し、
  好きにさせてくれた、その時の上長を尊敬します。)

エビデンスなどなく、単なる感想文ですが、やはり、
「一般的な方から例外的な方へ記述する」というのは、無理が有り、
時間が経つにつれ、その無理の傷は広がり続けると思います。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 1.
    「例外的な方から一般的な方へ記述する」場合、
    例外希少順位第1位  の場合  何々
    【上記以外の場合】
    例外希少順位第2位  の場合  何々
    【上記以外の場合】



    【上記以外の場合】
    例外希少順位第n-1位  の場合  何々
    【上記以外の場合】
    例外希少順位第n位  の場合  何々
    【上記以外の場合】
    一般的  の場合  何々
    と書けます。
    「例外的な方から一般的な方へ記述する」場合、
    それらの行の間には、「【上記以外の場合】」という含意が許され
    ます。

    2.
    これをそのまま、「一般的な方から例外的な方へ記述する」場合、
    一般的  の場合  何々
    (ただし、例外希少順位第1位から第n位までの条件を除く)
    例外希少順位第n位  の場合  何々
    (ただし、例外希少順位第1位から第n-1位までと一般的の条件を除く)
    例外希少順位第n-1位  の場合  何々
    (ただし、例外希少順位第1位から第n-2位までと第n位と一般的の条件を除く)



    と書かなければなりません。
    この場合には、行の間には、「【上記以外の場合】」という含意は許され
    ません。なぜなら、下方向にどれだけの例外が有るか不明だからです。

    代わりに各行で「()」に除外する条件をいちいち書く必要が有ります。
     
    3.
    さらにもっと悪い事に、「一般的な方から例外的な方へ記述する」のが
    好きな人に限って、「()」の中を書きたがりません。
    ですので、
    「一般的な方から例外的な方へ記述する」場合、
    一般的  の場合  何々
    例外希少順位第n位  の場合  何々
    例外希少順位第n-1位  の場合  何々



    となります。
    もちろん「一般的とは例外希少順位第1位から第n位までの条件以外を言う」
    という合意もしません。
    これにより、
    「一般的」という条件について最大限の信任を得ることは出来るでしょう
    けれど、信任されうるのは特定の人間のみです。

    前DX時代のリーダーは当人の全盛期を100年生き続ける必要があるのにも関わらず
    そうしませんでした。3.の文書のみを残すのであるならば、それだけの
    生を全うし、生きたオラクルとして健在であってもらわなければなりません。
    そうしないのは不実だと思います。

typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...