staticおじさんに再利用の有効性をわかってもらうには?

なるべく再利用を促進して、DRYの法則を実現していくということはプログラマーであれば当然のことと考えてしまいがちですが、なんでも部品を共有化すると弊害もあるのではと考える人々もいます。どうやって共有化のメリットを訴えていけばよいのでしょうか。
18
Ryo Asai @ryoasai74

staticおじさんにも理解できるように、「なぜ、再利用が有効か」を説明する資料を作ってほしいと頼まれました。確かに自明のことのようで、今までじっくり考えたことがなかったのですが、なかなかうまく説明するのは難しいですね。

2011-07-01 21:16:39
Ryo Asai @ryoasai74

ちなみに、僕の定義でのstaticおじさんは、情シスやSIerでそれなりに偉くて技術上の判断をする権限がある、ポリモーフィズムを理解していない、の2点を満たす人のこととしています。特定の人物を指すわけではありません。

2011-07-01 21:18:40
Rinta @rinta100

@ryoasai74 うーん、再利用すればコード書いたりテストしたりする部分が減って楽じゃん! というのが、大雑把なところだとは思うけど。その方向ではダメ?

2011-07-01 21:18:44
🥔えび🦐➕️🍞➕️🔥➡️🍤 @ebc_2in2crc

@ryoasai74 再利用できないと何度も同じことをする羽目になって面倒くさいですよね。お金もかかるし。とかですかねー

2011-07-01 21:19:56
kazumi007 @kazumi007

@ryoasai74 メンテナンスコストを下げることができるとか?

2011-07-01 21:20:19
非実在naka aki @naka_aki_spl

再利用なのかなあ。てかCの時代だって再利用(との葛藤)は有ったわけだからstaticかどうかは無関係なはずだし。

2011-07-01 21:20:28
あざらし @azarashi

@ryoasai74 私、説明できなくて残念な気持ちになったことがあります。むつかしいですね。

2011-07-01 21:20:40
非実在naka aki @naka_aki_spl

再利用といってもプロジェクトを「またぐ」とあまり合わない事も多いな。言い換えると再利用が利くのは案件非依存部品が多い。んでプロジェクトの「なか」でやるのはあれは再利用というよりは「同時利用」だよな。

2011-07-01 21:21:30
非実在naka aki @naka_aki_spl

ポリモルフィズムは、実装はさておきインタフェースは、つまりww本音はさておき建前を、再利用…おっとモトイ…同時利用するっていう世界観だな。

2011-07-01 21:22:37
Ryo Asai @ryoasai74

@ebc_2in2crc @kazumi007 早速、アドバイスありがとうございます。まず、そこは再利用のメリットですよね。でも、staticおじさんはなかなかに手ごわくて、「再利用して共有すると、一か所修正したら影響範囲が大きくなって試験が大変でしょ」と反論してくるのですよ。

2011-07-01 21:22:40
Ryo Asai @ryoasai74

つまり、技術のわからない人だと、再利用はよいことだと素直に理解しやすいと思うのですが、staticおじさんのように若いころアセンブラやCOBOLの経験があると、かえって再利用アレルギーがあるので余計にたちが悪いのですよw

2011-07-01 21:24:00
非実在naka aki @naka_aki_spl

同時利用がよいのは、そこで情報(つくりとか成り立ちとか)を「牛耳れる」からだな。元を正せば1つの概念だった何かを、実装時に「散逸」させたら負けだという。

2011-07-01 21:24:04
非実在naka aki @naka_aki_spl

なので「なにを」同一視「したい」かって問題に行き着いてしまう。

2011-07-01 21:25:13
非実在naka aki @naka_aki_spl

モリモルフの世界観って面白い。インタフェースだけ(?)を牛耳るから、なんというか、つながりの「途中」だけ細くなるのな。便利関数とかのように繋がりの線がピラミッド型に単純収束するのと違い、ひょうたん型になる。

2011-07-01 21:26:55
Ryo Asai @ryoasai74

それで、アジャイルソフトウェア開発の奥義などを復習中です。まずは、パッケージ分けは単にサイズ分割だけでなくて、安定度や抽象度といった概念があるという点をいかに伝えるかを考察中。安定したモジュールをたくさん再利用すればよいのかなと。

2011-07-01 21:27:26
Yohei @legoboku

@ryoasai74 組み込みだと、アセンブラ時代から考え方変わってないPJあります。つまりグローバル変数と関数の集合で、モジュールの依存関係が蜘蛛の巣。

2011-07-01 21:27:47
irof @irof

再利用って同じシステムの違うバージョン間での再利用で良いんじゃないかと思う今日この頃。まともに考えられてない設計だと、変化に対応するだけでも全面置き換え…は許されないから、無理矢理あわせて歪になる。これだけでも再利用出来てない事になると思うんだ。

2011-07-01 21:28:37
非実在naka aki @naka_aki_spl

(COBOLは知らないけど)アセンブラってアンチ再利用なの?てかアンチ同時利用か。

2011-07-01 21:29:33
非実在naka aki @naka_aki_spl

OOPだの関数型だのの下敷きにある発想ないし道具として「コールバック」があるわけだけど(コールバックのフックのかけかたの或る流派がOOPだといえる…刺される?)、果たして「コールバックがあまり無くてコールばかりの世界観だと、再利用(同時利用)は阻害される」のだろうか?

2011-07-01 21:31:15
非実在naka aki @naka_aki_spl

古典的な(そして安パイな)「再利用」というと、さっきも書いたけど、便利関数とかのピラミッド型依存構造になるタイプのが、そうだなあと思う。対してOOPとかの方式だと再利用(?)については「新しい領域に打って出た」という感じがする。成功したかどうかはさておく。

2011-07-01 21:33:48
Ryo Asai @ryoasai74

@azarashi そこを、クリアしないとSOAとか信じてもらえないのですよね。でも、基本昨日話したDDD的の戦略的設計の方向で行きたい的な雰囲気はあるそうなので、あとstaticおじさん達の疑いを晴らすことができればよいのですが。

2011-07-01 21:34:37
非実在naka aki @naka_aki_spl

@shinsan68k だよね。「ポリモルフのような」コールバックにしても…色々有るか。OOPや関数型の道具ではあるけど、OOPや関数型「だけの」道具ではないですコールバックは。

2011-07-01 21:34:54
ひしだま @hishidama

ソースのコピペの場合、コピペ元にバグが見つかったら、影響範囲(コピペ先)を洗い出すのって大変ですよね… QT @ryoasai74: 「なぜ、再利用が有効か」

2011-07-01 21:38:27
kazumi007 @kazumi007

@ryoasai74 分割統治に対してはどう考えているのでしょう?

2011-07-01 21:42:43
🥔えび🦐➕️🍞➕️🔥➡️🍤 @ebc_2in2crc

@ryoasai74 @kazumi007 共有するべきか否かはコンテキストによるんじゃないですかねー? 共有すべきところは共有するべきですし、共有するべきでないところは共有しちゃ駄目。影響範囲が大きくなるのは実装とI/F の切り分けができてないから。かな?

2011-07-01 21:46:23
1 ・・ 4 次へ