|
カテゴリ:ソフトウェア開発のこと
ちょっとおもしろいブログ記事を見つけました。 VC10のインテリセンスについて なるほど、Microsoft お得意のインテリセンスといえど、やっぱ実装は相当汚いのだね。まあ、昔のことを書いた記事なので、今はどうか知らんけど。 A5:SQL Mk-2(というか、前身の「あまのいわと5」)にいわゆるインテリセンスの機能(SQL入力支援機能)をつけたのは、2006年の1月のことでした。 最初は、 「とりあえず、Ctrl + Spaceでテーブルの一覧を列挙してみよう!!」 から始まり、 ・from句でテーブル名が現れたらその次にはエリアス名があるかもしれないね。 テーブル名かエリアス名が現れたら、その後ろにはピリオドとカラムが続くかもしれないね。 ・from句にテーブルが1個なら、エリアス名なしでもカラム列挙しなきゃね。 ・サブクエリー対応しないとツカイモノにならないよね。 ・サブクエリーの括弧の中にキャレットがあったら、その括弧内だけで解析し直せばいいよね。 ・unionも対応しなきゃね。 ・カラム名と一緒にデータ型も表示したらいいよね。 ・with(共通表式)なんてのも対応しなきゃね(かなり面倒)。 等々、どんどん機能を追加してきました。 以前、ECMAScriptインタープリタ(AM6)を実装したことがあり、字句解析・意味解析は全くの独学ですが経験がありました。さらに言うと、大昔の専門学校時代に計算木(計算式を解析して木構造にする)を実装したこともあったので何とかなるかなーと考えていたのです。 かくして、なんとかSQLの入力支援機能は実装されました、がやっぱりソースはものすごく汚いです。SQLはC++に比べれば遙かに言語仕様は単純ですが、結構ひどい有様です。 A5:SQL Mk-2がソースコードを公開しないのはこのSQL入力支援機能のソースがあまりにも汚いからだ!!…というのは言い過ぎですが、なかなかメンテナンスはうんざりするものがあります。今更作り直せない。 でも、Microsoft作っても汚くなるなら、自分が作ったのも汚くても仕方ないよね。(まあ、今のVC++の実装は知らんけど、知らんけど、知らんけど) お気に入りの記事を「いいね!」で応援しよう
Last updated
2009/04/07 01:51:50 AM
コメント(0) | コメントを書く
[ソフトウェア開発のこと] カテゴリの最新記事
|
|