★クライアントサイド最強の Delphi に物申す★
■ このスレッドは過去ログ倉庫に格納されています
0420デフォルトの名無しさん
NGNG>そして、読む気の失せる長文で人に相談しようとはしない。
ごめんなさい。
>>415
>withはオリジナルpascalからあるんだよ、文句はWirthに言ってくれ。
たしかにそうです。ただ私としてはDELPHIではwith文を仕様不可能にしてほしいという
わけではなくてgotoのよう「文法の仕様としては含んでいるが極力使わないほうがよい」
という感じになってくれたらなーと思っています。
>>416
>withはデータ利用の局所化を促すので最適化にいいんでなかったっけ。
ポインタの逆参照が一回ですむというやつでしょうか?最適化に関してはあまり深い知識
はないので間違ってたら指摘してください。ちなみに、参照用の変数を用意して、
Obj3 := Obj1.Obj2.Obj3;
というふうにやった場合とwith文を使用した場合では最適化の点からみた場合、差はある
のでしょうか?ちなみに是非の「非」はこれでよいみたいです。
------------------------------------------------------------------------
で、基本的に問題点が1、2、3のみだったらここまで強硬な主張をするつもりはないし
適切な場面に限って使用すれば便利な場合もあるだろうと思います。ただ、やっぱり問題
点4の構造的な欠陥がどうしても無視できません。しつこいようですが例をあげると、
1.あなたがボーランドの提供するあるクラスを使ってプログラムを組むとします。
2.その後のDELPHIのバージョンアップでそのクラスにプロパティ又は関数が追加さ
れたとします。
3.あなたのDELPHIをバージョンアップしてさらに前述のプログラムもバージョン
アップしたとします。
4.あなたがプログラムに何も手を加えていなくてもコンパイルエラー又は不可解な
バグに悩まされる可能性があります。自プログラムでwith文の使用を停止する以
外に完全に防ぐてだてはありません(たぶん)。
と言う訳で将来的に保守する必要のあるプログラムなら無視はできないとおもいます。
■ このスレッドは過去ログ倉庫に格納されています