staticおじさんに再利用の有効性をわかってもらうには?
staticおじさんにも理解できるように、「なぜ、再利用が有効か」を説明する資料を作ってほしいと頼まれました。確かに自明のことのようで、今までじっくり考えたことがなかったのですが、なかなかうまく説明するのは難しいですね。
2011-07-01 21:16:39ちなみに、僕の定義でのstaticおじさんは、情シスやSIerでそれなりに偉くて技術上の判断をする権限がある、ポリモーフィズムを理解していない、の2点を満たす人のこととしています。特定の人物を指すわけではありません。
2011-07-01 21:18:40@ryoasai74 うーん、再利用すればコード書いたりテストしたりする部分が減って楽じゃん! というのが、大雑把なところだとは思うけど。その方向ではダメ?
2011-07-01 21:18:44@ryoasai74 再利用できないと何度も同じことをする羽目になって面倒くさいですよね。お金もかかるし。とかですかねー
2011-07-01 21:19:56再利用なのかなあ。てかCの時代だって再利用(との葛藤)は有ったわけだからstaticかどうかは無関係なはずだし。
2011-07-01 21:20:28再利用といってもプロジェクトを「またぐ」とあまり合わない事も多いな。言い換えると再利用が利くのは案件非依存部品が多い。んでプロジェクトの「なか」でやるのはあれは再利用というよりは「同時利用」だよな。
2011-07-01 21:21:30ポリモルフィズムは、実装はさておきインタフェースは、つまりww本音はさておき建前を、再利用…おっとモトイ…同時利用するっていう世界観だな。
2011-07-01 21:22:37@ebc_2in2crc @kazumi007 早速、アドバイスありがとうございます。まず、そこは再利用のメリットですよね。でも、staticおじさんはなかなかに手ごわくて、「再利用して共有すると、一か所修正したら影響範囲が大きくなって試験が大変でしょ」と反論してくるのですよ。
2011-07-01 21:22:40つまり、技術のわからない人だと、再利用はよいことだと素直に理解しやすいと思うのですが、staticおじさんのように若いころアセンブラやCOBOLの経験があると、かえって再利用アレルギーがあるので余計にたちが悪いのですよw
2011-07-01 21:24:00同時利用がよいのは、そこで情報(つくりとか成り立ちとか)を「牛耳れる」からだな。元を正せば1つの概念だった何かを、実装時に「散逸」させたら負けだという。
2011-07-01 21:24:04モリモルフの世界観って面白い。インタフェースだけ(?)を牛耳るから、なんというか、つながりの「途中」だけ細くなるのな。便利関数とかのように繋がりの線がピラミッド型に単純収束するのと違い、ひょうたん型になる。
2011-07-01 21:26:55それで、アジャイルソフトウェア開発の奥義などを復習中です。まずは、パッケージ分けは単にサイズ分割だけでなくて、安定度や抽象度といった概念があるという点をいかに伝えるかを考察中。安定したモジュールをたくさん再利用すればよいのかなと。
2011-07-01 21:27:26@ryoasai74 組み込みだと、アセンブラ時代から考え方変わってないPJあります。つまりグローバル変数と関数の集合で、モジュールの依存関係が蜘蛛の巣。
2011-07-01 21:27:47再利用って同じシステムの違うバージョン間での再利用で良いんじゃないかと思う今日この頃。まともに考えられてない設計だと、変化に対応するだけでも全面置き換え…は許されないから、無理矢理あわせて歪になる。これだけでも再利用出来てない事になると思うんだ。
2011-07-01 21:28:37OOPだの関数型だのの下敷きにある発想ないし道具として「コールバック」があるわけだけど(コールバックのフックのかけかたの或る流派がOOPだといえる…刺される?)、果たして「コールバックがあまり無くてコールばかりの世界観だと、再利用(同時利用)は阻害される」のだろうか?
2011-07-01 21:31:15古典的な(そして安パイな)「再利用」というと、さっきも書いたけど、便利関数とかのピラミッド型依存構造になるタイプのが、そうだなあと思う。対してOOPとかの方式だと再利用(?)については「新しい領域に打って出た」という感じがする。成功したかどうかはさておく。
2011-07-01 21:33:48@azarashi そこを、クリアしないとSOAとか信じてもらえないのですよね。でも、基本昨日話したDDD的の戦略的設計の方向で行きたい的な雰囲気はあるそうなので、あとstaticおじさん達の疑いを晴らすことができればよいのですが。
2011-07-01 21:34:37@shinsan68k だよね。「ポリモルフのような」コールバックにしても…色々有るか。OOPや関数型の道具ではあるけど、OOPや関数型「だけの」道具ではないですコールバックは。
2011-07-01 21:34:54ソースのコピペの場合、コピペ元にバグが見つかったら、影響範囲(コピペ先)を洗い出すのって大変ですよね… QT @ryoasai74: 「なぜ、再利用が有効か」
2011-07-01 21:38:27@ryoasai74 @kazumi007 共有するべきか否かはコンテキストによるんじゃないですかねー? 共有すべきところは共有するべきですし、共有するべきでないところは共有しちゃ駄目。影響範囲が大きくなるのは実装とI/F の切り分けができてないから。かな?
2011-07-01 21:46:23