じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

オブジェクト指向でない VB.NET

現在、とある会社に常駐 (出向) しているのですが、ちょっと困ったことがありました。

VB.NET のとある開発に、共通ライブラリと呼ばれる Common なんてソリューションがあるのですが、これが足かせで困っています。

問題としては、各クラスが独立していないというか、基底にお友達がたくさんおります。
それと、公開すべきものを最小限に公開してこそ、ライブラリというのは使いやすいものですが、内部でのみ意識すべきものまで公開していたりするのです。
つまり、オブジェクト指向以前に構造化言語 (カプセル化) とかそういった概念がないわけです。

コントロールにも直接アクセスしてまして、プロパティで間接的にアクセスしてません。
そのため、どのコントロールが外部から参照されているのか、明示化されていません。
他人から見て、これほど中を意識しなくてはいけないライブラリは、悩ましい限りです。

ここまでは何とか許せるとして、1 番の問題は、各モジュールを意識しちゃってることです。
いや、これじゃ「共通ライブラリ」と言うのは語弊になるのかなぁ? なんて思います。
この記事のタイトルも「構造化言語ですらない VB.NET」にすべきだったでしょうか。

まあ、これらを妥協するのも仕事なんでしょうか。

投稿日時 : 2005年2月2日 11:18

コメントを追加

# re: オブジェクト指向でない VB.NET 2005/02/02 11:51 菊池

エスカレーション手順としてはこんなもんかな

1.自分のためのファサードを導入してしのぐ

 そのまま使わなきゃいけないって決まりなんてないさ

2.Publicになってるものを外部呼出しテストしますから試験項目上げて下さいとPublicの一覧を回覧する、面倒ならPrivateにしてくださいと言う

 「Publicな以上は試験しないといけませんよね(ハート)」とハートを飛ばしながら回覧すると効果大(嘘

3.ライブラリでのエラーはライブラリの作成者にバグ修正依頼をひたすら横流しする

 バグ修正の経路をきちんと決めると悪い習慣をもっている人に自然にバグが集まり鍛えられる

4.Publicになってるものを片っ端から呼んで例外あがる毎にバグだと大騒ぎする

 最終兵器
 

# re: オブジェクト指向でない VB.NET 2005/02/02 13:02 じゃんぬねっと

> そのまま使わなきゃいけないって決まりなんてないさ
じ「すいません。コレ汎用性ないんで、
  こっち使ってもいいですか?」
上「だめだ、それが正しく動く保証なんてない!!」
じ「(今の方が十分ヤバイと思うんですがw)
  いえ、前のプロジェクトで使ってたやつなんで大丈夫です」
上「前のプロジェクトで動いてたからといって、
  こっちで動くわけがないだろう!!」
じ「(だめだこりゃw。共通ライブラリが独立してるべきって考え自体がない...)

今までどうやって開発してきたんでしょう? 力技? コピペ?

で、小一時間問い詰めて、何とか良識ある方の同意の元、導入されたわけです。(^-^A)

# re: オブジェクト指向でない VB.NET 2005/02/02 13:13 じゃんぬねっと

> 2.Publicになってるものを外部呼出しテストしますから
> 試験項目上げて下さいとPublicの一覧を回覧する、
> 面倒ならPrivateにしてくださいと言う
なるほど、何故ダメなのかを理解させるのは諦めて、
とりあえず、誘導するわけですね。
でも、これ私の作業も大変になります... (w

> 「Publicな以上は試験しないといけませんよね(ハート)」
> とハートを飛ばしながら回覧すると効果大(嘘
流石にこれは言いませんでしたが、
 「何故、内部のビジネスロジックなのに公開してるんですか?」
と聞いたところ、お約束ですが、
 「はぁ? 全体に公開した方が便利じゃん」
と言われました (w

> 3.ライブラリでのエラーはライブラリの作成者に
> バグ修正依頼をひたすら横流しする
「どこを直せばいいかな?」なんて言われちゃいました (w
"あんたが実装したんだろうが" と小一時間 (ry

> バグ修正の経路をきちんと決めると
> 悪い習慣をもっている人に自然にバグが集まり鍛えられる
その場しのぎの修正の繰り返しになって、深みにハマってました。
そんな状況になったので、嫌われるのを覚悟で抗議しました...

> 4.Publicになってるものを片っ端から呼んで
> 例外あがる毎にバグだと大騒ぎする
> 最終兵器
すいません、やりました。睨まれました。
すいません... すいません...

# re: オブジェクト指向でない VB.NET 2005/02/02 13:24 みゃみゅ玉子

ああ、同じ状況の人がいた・・・(涙)
標準モジュールにPublicな変数がたくさんあったり。。。

> 「どこを直せばいいかな?」なんて言われちゃいました (w
そして、自分で直すはめに・・・

>> 最終兵器
> すいません、やりました。睨まれました。
> すいません... すいません...

やったんですか。(笑)

# re: オブジェクト指向でない VB.NET 2005/02/02 13:31 じゃんぬねっと

> やったんですか。(笑)
いや、こんなものを Public で公開してること自体、
「設計バグだ」と騒いであげただけです (はぁと

# re: オブジェクト指向でない VB.NET 2005/02/02 13:51 みゃみゅ玉子

> いや、こんなものを Public で公開してること自体、
>「設計バグだ」と騒いであげただけです (はぁと

設計バグじゃあ通らないんです。(涙)
「動いてるんだから大丈夫だ!」
で終わるんです。(涙)
話は平行線というか、どんどん離れていくのです。(涙)

# re: オブジェクト指向でない VB.NET 2005/02/02 14:29 じゃんぬねっと

だからこそ、睨まれたのだと思われまする... orz

# re: オブジェクト指向でない VB.NET 2005/02/02 15:24 ぺがらぼ

結局、こういったソースを野放しにしてるから、
成長しないんだよなぁ...
なんでもPublicにしたら良いとか、もう少しセキュリティの事考えて欲しいよな...

# re: オブジェクト指向でない VB.NET 2005/02/02 16:09 じゃんぬねっと

セキュリティ?

public -> pricate
新人が妙なメソッドにアクセスしないためのセキュリティ (w

# re: オブジェクト指向でない VB.NET 2005/02/02 16:30 みゃみゅ玉子

セキュリティ?

'***オブジェクト(AAAメソッドを呼んでから参照してください)
Public pobjAAA As ****

↑なんか起きたときに「書いてあるでしょー!」と言って自分を守るための・・・(笑)

# re: オブジェクト指向でない VB.NET 2005/02/02 16:34 じゃんぬねっと

>みゃみゅ玉子 さん
そうそう、そういう組んだ人にしかわからない構造って良くないよね。
リファレンス見るだけで明確になるようにして欲しいです。

# re: オブジェクト指向でない VB.NET 2005/02/02 18:41 虎( ´;゚;ё;゚;)

僕が勤めている会社なんて
オフコンマンセーな人たちばっかりなので
基本がPublicですよ
最悪

# re: オブジェクト指向でない VB.NET 2005/02/02 19:05 中 博俊

気にせず自分で治す。コレ当然。

# re: オブジェクト指向でない VB.NET 2005/02/02 19:31 じゃんぬねっと

>虎( ´;゚;ё;゚;) さん
この会社もメインフレーマの方々ばかりですが、何か? (w

>中センセ
勝手に、そんなことやっちゃーいけないんですよー。(^-^*)

# re: オブジェクト指向でない VB.NET 2005/02/03 23:26

共通ライブラリを使うと苦労するプログラムはさわりたくないもんですね。
以前にVB6でCrystalReportを使用したときにはサブレポートに対応していなくて苦労しました。
それを上司に言っても、今のやつで対応する方法を考えてくれって言われてデスマ状態になりましたよ。
新人でデスマを一人で体験したので設計をしっかり学んで文句言えるようになりたいですな。

#今回のC#.NETでもActiveReportを使うことになり実装しましたが、参考にしたところのコメントにじゃんぬねっとさん降臨してました(笑)

# re: オブジェクト指向でない VB.NET 2005/02/04 8:58 じゃんぬねっと

>翔さん
そうですね、共通ライブラリというものは柔軟でなければ、
ただの足かせになってしまいます...
出身言語の違いなどもあるかもしれませんが、郷に従ってほしいです。

> 参考にしたところのコメントにじゃんぬねっとさん降臨してました(笑)
ど、どこでしょう (汗

# re: オブジェクト指向でない VB.NET 2005/02/04 9:21

>> 参考にしたところのコメントにじゃんぬねっとさん降臨してました(笑)
>ど、どこでしょう (汗
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=18239
こちらでしたw
プログラムから直接データを渡して呼び出す方法は初めてだったので、これだけでも有用でしたよ?w

# re: オブジェクト指向でない VB.NET 2005/02/04 9:34 じゃんぬねっと

色んなところで降臨しているなぁ...
中さんや、小野さんのこと言えない (w

# re: オブジェクト指向でない VB.NET 2005/02/04 14:08 みゃみゅ玉子

僕の後輩も、昨日じゃんぬねっとさんが後輪しているところを見つけてましたよ。(笑)
サイトを公開してすぐのころだったんですねー

VBでジャグ配列について調べさせたら、見事にいました。
後輩に、
「この人、すごい人だから。」
と教えておきました。

# re: オブジェクト指向でない VB.NET 2005/02/04 14:16 じゃんぬねっと

ちなみに、そのジャグ配列のところに、
魔界の仮面弁士さんがいらっしゃるハズ。
(ジャムおぢさん)

# re: オブジェクト指向でない VB.NET 2005/02/04 17:23 みゃみゅ玉子

そう!それです。
ジャムで和んでました。(笑)

# re: オブジェクト指向でない VB.NET 2005/02/04 17:40 じゃんぬねっと

流石は、魔界の仮面弁士さん... Good Job!!

# re: オブジェクト指向でない VB.NET 2005/02/06 2:17

>後輩に、
>「この人、すごい人だから。」
>と教えておきました。
ペアプログラミングやってる人に
「この人、最近話すようになった」
と言っておきました(笑)

#,NET関連で調べるときは「どぼんさん」「じゃんぬねっとさん」のサイトを探して見つからなかったらぐぐってます(苦笑)

# re: オブジェクト指向でない VB.NET 2005/02/06 14:14 じゃんぬねっと

>翔さん
「どぼん! さん」はわかりますが、
「じゃんぬねっと さん」を探すのは無謀じゃないでしょうか? (w

# re: オブジェクト指向でない VB.NET 2005/02/07 12:50 杉下@ぱぱんぶぃびぃ

なんか、楽しそうね~。(^-^)

# re: オブジェクト指向でない VB.NET 2005/02/07 13:12 じゃんぬねっと

ぱぱんさんの会社って、若い衆を募集してませんか? (w

# re: オブジェクト指向でない VB.NET 2005/02/09 10:38

>「じゃんぬねっと さん」を探すのは無謀じゃないでしょうか? (w
もしかしたらあるかも?くらいでw

タイトル  
名前  
URL
コメント