ブログトップ 記事一覧 ログイン 無料ブログ開設

Strategic Choice

2010-02-03

tacohachitacohachi 2010/02/03 15:23 いつも拝見させていただいただき、参考にさせていただいてます。いろいろな原則が整理されていて役立ちます。

ところで「原理・原則」とはどんな定義に収まるのでしょうか。私もよく使ってはいるのですが、明確な定義はできていません。「もととなる理論や共通する法則」程度です。私も少し考えてみました。原理・原則は格言や鉄則というものとは微妙に異なるというか、できれば区別したほうがいいかなと思っています。原理・原則は、方法論や手法に依存しない普遍的な考え方や法則といえます。一方、格言や鉄則は実践する人の視点で、ある意味、都合のいいように解釈していい教訓や決め事のようなものかなと思います。たとえば、「石橋を叩いて渡る」と「虎穴に入らずば虎子を得ず」のように相反するものであっても成立してしまうのが格言や鉄則です。相反する考えを思い描いて、それが特定の状況下でも成立するかどうかで、普遍的かどうか、つまり原理・原則であるかが判断できるかなと思います。

YAGNI,DRY,KISSとか、GOTOを使わないとかは、鉄則・格言・ベストプラクティス・作法・1つの推奨される技法などとはいえますが、常に「真」であり、普遍的であるとは言い切れない感じが残っています。シンプルの相反としてガチガチに形式的なのもあるし、コードのコピーも時には有効だろうし、感動を与える巧緻なアルゴリズムも時に見てみたい気もします。必ずしもそうではないこともある、というニュアンスを残しておきたいですね。オブジェクト指向やアジャイルだけが正しい方法論とは言い切れないこともあります。そんなことを考えてみました。

asakichyasakichy 2010/02/03 17:44 あー、なるほど。おもしろい観点ですね。

改めて一覧を見てみると、「原理原則」にはあたらない、
「技法」とか「ターミノロジー」が多いです。
プログラマたるもの「名前重要」を常に念頭に置かねば (^_^;

ちなみに私も、原則そのものは、普遍性があり、
もはや定説となっているものを指していると思います。

ただ、「その適用」は、やはりコンテキスト(状況)に依存すると思います。
原則って、その運用時の例外の存在を言外に含んでいるような気がします。
「原則ダメですが、非常時は使っていいです」的な。

なので、

> 必ずしもそうではないこともある、というニュアンスを残しておきたいですね。
> オブジェクト指向やアジャイルだけが正しい方法論とは言い切れないこともあります。

これも、その通りだと思いますが、
「原則」でもそのニュアンスは残るカナーと思います。

ついでにあんまり関係ない話ですが、私は、
特にプログラミングという分野において、
コンテキストに依存しない具体的で簡単なルール作りって
難しい(ムリ?)と思っています。

#このエントリの全否定ですね (^_^;

ただ、
原則にひそむ本質(なぜそれがあるのか、なぜそうするのか)を汲めば、
正しい(ベターな)実装に近づけるのでは、と考え、収集・勉強しています。

ellereller 2011/07/10 17:40 こんにちは、楽しく拝見いたしました。
リスコフの置換原則というものも聞いたことがありますので、よろしければ追加していただければ幸いです。
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%B9%E3%82%B3%E3%83%95%E3%81%AE%E7%BD%AE%E6%8F%9B%E5%8E%9F%E5%89%87

asakichyasakichy 2011/07/10 20:28 id:ellerさん、初めまして。
読んでいただいて&&情報ありがとうございます。
原則コレクター?のid:asakichyです。

> リスコフの置換原則

実はコレも既にツバつけてまして、
当日記右サイドバーのContensの「オブジェクト指向設計原則」にて、
5原則の中の一つとしてまとめています。

他にもさまざまな原理原則パターンを収集していますので、
よろしければサイドバーのContents経由で
ご覧になってください。

私もid:ellerさんの日記をRSS登録させていただきました。
新しい記事も楽しみにしています。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証