(57)【要約】【課題】プログラムコードを記述する場所を意識しつつ１文字ずつコードを入力するという煩雑なプログラミング作業を大幅に減らす。【解決手段】関数の定義に必須の項目の入力画面をコンピュータの表示部に表示させる。この入力画面上で各項目のデータが入力されると、その入力された各項目データに基づいて関数の定義を表わすプログラムコードを作成する。そして、この作成したプログラムコードをコンピュータでプログラミング作業中のソースプログラムに追加する。【選択図】    図３
2005025263.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータでのプログラミング作業を支援するプログラミング支援装置において、
関数の定義に必須の項目の入力画面を前記コンピュータの表示部に表示させる入力画面表示制御手段と、
前記入力画面上で入力された各項目のデータに基づいて関数の定義を表わすプログラムコードを作成するコード作成手段と、
このコード作成手段により作成したプログラムコードを前記コンピュータでプログラミング作業中のソースプログラムに追加するコード追加手段と、を具備したことを特徴とするプログラミング支援装置。
【請求項２】
前記コード作成手段は、前記入力画面上で入力された各項目データに、そのデータ中の戻り値の型に応じた当該戻り値の初期値を表わすコードを追加して前記プログラムコードを作成することを特徴とする請求項１記載のプログラミング支援装置。
【請求項３】
前記コンピュータでプログラミング作業中のソースプログラムから前記コード追加手段により追加されたプログラムコードを検索するコード検索手段と、
このコード検索手段により前記ソースプログラムから検出されたプログラムコードのリスト画面を前記表示部に表示させるリスト表示制御手段と、
前記リスト画面上で選択されたプログラムコードの削除が指示されると、前記ソースプログラムからその選択されたプログラムコードを削除するコード削除手段と、をさらに具備したことを特徴とする請求項１記載のプログラミング支援装置。
【請求項４】
前記コード削除手段は、前記ソースプログラムから当該プログラムコードを実際に削除するか、当該プログラムコードをプログラム上に残したまま無効化するかを選択可能にしたことを特徴とする請求項３記載のプログラミング支援装置。
【請求項５】
コンピュータでのプログラミング作業を支援するプログラミング支援方法であって、
関数の定義に必須の項目の入力画面を前記コンピュータの表示部に表示させるステップと、
前記入力画面上で各項目のデータが入力されると、その入力された各項目データに基づいて関数の定義を表わすプログラムコードを作成するステップと、
作成したプログラムコードを前記コンピュータでプログラミング作業中のソースプログラムに追加するステップと、を備えたことを特徴とするプログラミング支援方法。
【請求項６】
請求項５記載のプログラミング支援方法に、
前記コンピュータでプログラミング作業中のソースプログラムから追加されたプログラムコードを検索するステップと、
追加されたプログラムコードを検出すると、そのプログラムコードのリスト画面を前記表示部に表示させるステップと、
前記リスト画面上で選択されたプログラムコードの削除が指示されると、前記ソースプログラムから当該プログラムコードを削除するステップと、をさらに備えたことを特徴とするプログラミング支援方法。
【請求項７】
前記プログラムコードを削除するステップは、前記ソースプログラムから当該プログラムコードを実際に削除するか、当該プログラムコードをプログラム上に残したまま無効化するかを選択可能であることを特徴とする請求項６記載のプログラミング支援方法。
【請求項８】
コンピュータでのプログラミング作業を支援するプログラミング支援プログラムであって、
前記コンピュータに、
関数の定義に必須の項目の入力画面を当該コンピュータの表示部に表示させる機能と、
前記入力画面上で入力された各項目のデータに基づいて関数の定義を表わすプログラムコードを作成する機能と、
この作成機能により作成されたプログラムコードを前記コンピュータでプログラミング作業中のソースプログラムに追加する機能と、を実現させることを特徴とするプログラミング支援プログラム。
【請求項９】
前記コンピュータに、
そのコンピュータでプログラミング作業中のソースプログラムから追加されたプログラムコードを検索する機能と、
この検索機能により検出されたプログラムコードのリスト画面を前記表示部に表示させる機能と、
前記リスト画面上で選択されたプログラムコードの削除が指示されると、前記ソースプログラムから当該プログラムコードを削除する機能と、
をさらに実現させることを特徴とする請求項８記載のプログラミング支援プログラム。
【請求項１０】
前記プログラムコードを削除する機能は、前記ソースプログラムから当該プログラムコードを実際に削除するか、当該プログラムコードをプログラム上に残したまま無効化するかを選択可能である請求項９記載のプログラミング支援プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータで実施されるプログラミング作業の効率を高めるためのプログラミング支援装置及びその方法並びにプログラミング支援プログラムに関する。
【０００２】
【従来の技術】
一般に、プログラミング作業は、汎用のエディタプログラムを利用してコンピュータにプログラムコードを１文字ずつ入力することによって、ソースプログラムを作成する。この場合において、汎用のエディタプログラムが備えるコピー（カット）・アンド・ペースト機能を利用したり、共通利用する部分をテンプレートとして予め格納しておいたりすることによって、以前に記述したプログラムコードを所定の位置に挿入することによって、プログラミング作業の効率化を図ることは従来から既に行なわれていた（例えば、特許文献１参照）。
【０００３】
しかし、以前に同じようなプログラムコードを記述していない部分やテンプレートを利用できない部分については、依然として１文字ずつプログラムコードを入力して対処せざるを得なかった。このとき、単にプログラムコードを誤りなく入力すればよいというわけではなく、どの位置にどの項目のプログラムコードを入力するかを常に意識して、ソースプログラムを作成しなければならなかった。
【０００４】
例えば、オブジェクト指向言語では、プログラムに必ずクラスが必要となる。クラスは、共通の特性（属性，操作）を持つ関数（オブジェクト）の集合である。すなわち、オブジェクト指向言語でプログラミングを行なう際には、先ずクラスを生成し、そのクラス内部に、データを表わす属性（フィールド）と振舞いを表わす操作（メソッド）とを記述する必要がある。この場合、基本的には、プログラムコード「ｃｌａｓｓクラス名」をはじめに記述し、その後、「｛  ｝」の中に関数の定義を表わすコード，つまりは属性と操作を定義するプログラムコードを記述する。
【０００５】
また、関数の１種としてインターフェイスと称されるものがある。インターフェイスは、それらの実装について与えられた情報を全く持たないメソッドの集まりで、アクセス制御子，戻り値の型，メソッド名及び変数（パラメータ）の各項目で表わされる。変数は、複数設定可能であり、属性，型及び名前の各項目で表わされる。インターフェイスをプログラムコードで記述する場合、「アクセス制御子，戻り値の型，メソッド名（変数の属性，型，名前）」というフォーマットで記述する必要がある。
【０００６】
【発明が解決しようとする課題】
このように、従来のプログラミング作業においては、その大部分で作業者がプログラムコードを記述する場所を意識しつつ１文字ずつコードを入力していたので、プログラミング作業者の負担が大きく、効率が悪かった。
【０００７】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、プログラムコードを記述する場所を意識しつつ１文字ずつコードを入力するという煩雑なプログラミング作業を大幅に減らすことができ、プログラミング作業者の負担を軽減し得、プログラミング作業の効率化を図ることができるプログラミング支援装置及び方法並びにプログラミング支援プログラムを提供しようとするものである。
【０００８】
【課題を解決するための手段】
本発明のプログラミング支援装置は、コンピュータでのプログラミング作業を支援する装置であって、関数の定義に必須の項目の入力画面をコンピュータの表示部に表示させる入力画面表示制御手段と、入力画面上で入力された各項目のデータに基づいて関数の定義を表わすプログラムコードを作成するコード作成手段と、このコード作成手段により作成したプログラムコードをコンピュータでプログラミング作業中のソースプログラムに追加するコード追加手段とを備えたものである。
【０００９】
本発明のプログラミング支援方法は、コンピュータでのプログラミング作業を支援する方法であって、関数の定義に必須の項目の入力画面をコンピュータの表示部に表示させるステップと、入力画面上で各項目のデータが入力されると、その入力された各項目データに基づいて関数の定義を表わすプログラムコードを作成するステップと、作成したプログラムコードをコンピュータでプログラミング作業中のソースプログラムに追加するステップとを備えたものである。
【００１０】
本発明のプログラミング支援プログラムは、コンピュータでのプログラミング作業を支援するプログラムであって、コンピュータに、関数の定義に必須の項目の入力画面を当該コンピュータの表示部に表示させる機能と、入力画面上で入力された各項目のデータに基づいて関数の定義を表わすプログラムコードを作成する機能と、この作成機能により作成されたプログラムコードをコンピュータでプログラミング作業中のソースプログラムに追加する機能とを実現させるものである。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
なお、この実施の形態は、オブジェクト指向プログラミングを実施するコンピュータに本発明のプログラミング支援技術を適用した場合であり、詳しくは、オブジェクト指向言語で必要なクラスの内部に関数の１種であるインターフェイス関数を定義するプログラムコードのプログラミング作業を簡略化した場合である。
【００１２】
図１はオブジェクト指向プログラミングを実施するプログラミング装置の要部構成を示すブロック図であり、図中符号１の二点鎖線で囲った枠内は、プログラミング装置本体を示している。プログラミング装置本体１は、コンピュータによって構成されており、プログラミング基本機能部１１、記憶部１２、入出力制御部１３、通信制御部１４及びプログラミング支援機能部１５が設けられている。
【００１３】
プログラミング基本機能部１１は、所定の言語によって記述されるソースプログラムを開発する機能と、開発されたソースプログラムをコンパイルして所期の目的であるプログラムを完成させる機能とを有するものである。プログラミング基本機能部１１は、当該プログラミング装置本体１の中枢を担う中央処理装置（ＣＰＵ）と、オペレーティング・システム（ＯＳ），エディタ，コンパイラ等のプログラムを記憶するメモリ等で構成されている。
【００１４】
プログラミング基本機能部１１によって開発されているソースプログラムは、プログラム毎にプログラムファイル１２１に格納されて記憶部１２に記憶保存される。記憶部１２は、例えばハードディスクや光磁気ディスク等の不揮発性の記憶媒体で構成されている。
【００１５】
入出力制御部１３は、プログラミング装置本体１に接続された操作部２の操作により入力されるデータ信号をプログラミング基本機能部１１に与える機能と、プログラミング基本機能部１１から与えられる表示データをプログラミング装置本体１に接続された表示部３に出力する機能とを有するものである。操作部２としては、キーボードやポインティングデバイス等が用いられている。表示部３としては、ＣＲＴディスプレイや液晶ディスプレイ等の画面表示器が用いられている。
【００１６】
通信制御部１４は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信媒体を介して外部コンピュータ機器との間で行われるデータ通信を制御するものである。
【００１７】
プログラミング支援機能部１５は、前記ＣＰＵと、プログラミング支援プログラムを格納したメモリ等で構成されており、特に、関数作成機能１５１を有している。プログラミング支援プログラムは、プログラミング支援機能部１５の動作を制御するもので、通信制御部１４に接続された通信媒体を介して有線または無線により外部コンピュータ機器から当該プログラミング装置本体１のメモリにインストールされる。あるいは、ＣＤ−ＲＯＭ，フレキシブルディスク等のコンピュータ読取り可能な記憶媒体に記憶され、ディスクドライブなどの読取り装置を介してプログラミング装置本体１のメモリにインストールされる。
【００１８】
関数作成機能１５１は、図２〜図５の各流れ図に示す手順に従い、インターフェイス関数を定義するプログラムコードのプログラミング作業（作成，編集，削除）を簡略化するもので、プログラミング支援プログラムの一機能である。
【００１９】
すなわち、操作部２の操作により関数作成業務が選択され、その実行が指令されると、プログラミング基本機能部１１は、プログラミング支援機能部１５に対して関数作成業務の開始を指令する。この指令を受けて、プログラミング支援機能部１５は、関数作成機能１５１を動作させて、図２の処理を開始する。
【００２０】
先ず、プログラミング支援機能部１５は、ＳＴ（ステップ）１としてプログラミング基本機能部１１にてプログラミング作業中のソースプログラムが、関数作成機能１５１により作成される関数の対象プログラムとして選択されているか否かを判断する。ここで、対象フログラムが選択されていない場合には、プログラミング支援機能部１５は、今回の処理をエラーとして終了する。
【００２１】
操作部２の操作により対象プログラムが選択されていることを確認した場合には、プログラミング支援機能部１５は、ＳＴ２としてその対象プログラムに既に記述されているプログラムコードを検索して、関数作成機能１５１により作成されたインターフェイス関数の有無を判断する（コード検索手段）。本実施の形態においては、関数作成機能１５１により作成されたインターフェイス関数のプログラムコードには識別コード［Ｓｕｐｐｏｒｔ  Ｍｅｔｈｏｄ］が追加されているので、この識別コードの有無によって判断する。その結果、ＳＴ３として対象プログラムから該当するインターフェイス関数のプログラムコードを検出した場合には、プログラミング支援機能部１５は、ＳＴ４としてそのインターフェイス関数のプログラムコードを解析して、インターフェイス関数を定義する必須の項目（アクセス制御子，戻り値の型，メソッド名及びパラメータ）の値を抽出する。そして、ＳＴ５として例えば図６に示す画面レイアウトの関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させ、このダイアログボックスＧ１のリスト表示エリアＡ１内に、対象プログラムから抽出した全てのインターフェイス関数のメソッド名，戻り値の型及びパラメータのリストを表示させる（リスト表示制御手段）。
【００２２】
これに対し、対象プログラムから該当するインターフェイス関数のプログラムコードを検出しなかった場合には、関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させる処理のみ行なう。このとき、ダイアログボックスＧ１のリスト表示エリアＡ１内にはデータが何も表示されていない。
【００２３】
関数作成ウィザード用ダイアログボックスＧ１には、メソッド名，戻り値の型及びパラメータの項目別リスト表示エリアＡ１の他、作成ボタンＢ１，修正ボタンＢ２，削除ボタンＢ３及び終了ボタンＢ４の各操作ボタンが形成されている。各操作ボタンＢ１〜Ｂ４は、操作部２により押下操作可能である。
【００２４】
この状態で、プログラミング支援機能部１５は、いずれかの操作ボタンＢ１〜Ｂ４が操作されるのを待機する。ここで、ＳＴ６として作成ボタンＢ１が押下操作されたことを検知した場合には作成処理を実行し、ＳＴ７として修正ボタンＢ２が押下操作されたことを検知した場合には編集処理を実行し、ＳＴ８として削除ボタンＢ３が押下操作されたことを検知した場合には削除処理を実行する。そして、これらの処理（作成処理，編集処理及び削除処理）が終了すると、プログラミング支援機能部１５は、関数作成ウィザード用ダイアログボックスＧ１を表示部３に再度表示させて、各操作ボタンＢ１〜Ｂ４の操作を待機する。
【００２５】
一方、ＳＴ９として終了ボタンＢ４が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、ＳＴ１０として関数作成ウィザード用ダイアログボックスＧ１を消去した後、この処理を終了する。
【００２６】
以下、プログラミング支援機能部１５が実行する作成，編集及び削除の各処理について、それぞれ順番に図面を用いて説明する。
はじめに、開発途中にあるソースプログラムにインターフェイス関数の定義を表わすプログラムコードを追加する処理，いわゆる作成処理について、図３及び図７〜図１１を用いて説明する。
【００２７】
図３は作成処理の要部を示す流れ図である。すなわちプログラミング支援機能部１５は、関数作成ウィザード用ダイアログボックスＧ１の作成ボタンＢ１が押下操作されたことを検知すると、この処理を開始し、先ず、ＳＴ１１として例えば図７に示す画面レイアウトのインターフェイス関数作成用ダイアログボックスＧ２を表示部３に表示させる（入力画面表示制御手段）。このダイアログボックスＧ２は、少なくともインターフェイス関数を定義するのに必須の項目であるメソッドのアクセス制御子、戻り値の型及びメソッド名と、パラメータの修飾子，型及びパラメータ名の各入力エリアＡ２〜Ａ７と、当該インターフェイス関数が有するパラメータの一覧表示エリアＡ８と、各入力エリアＡ２〜Ａ７に入力されたデータに基づいて作成されるプログラムコードを表示するメソッドの署名エリアＡ９とが形成されている。また、追加ボタンＢ５，削除ボタンＢ６，ＯＫボタンＢ７及びキャンセルボタンＢ８の各操作ボタンが形成されている。
【００２８】
ここで、入力エリアＡ２に入力されるアクセス制御子は、当該インターフェイス関数が他のクラスからアクセスできる（公開）か否（非公開）かを指定するもので、公開の場合は「ｐｕｂｌｉｃ」が入力され、非公開の場合は「ｐｒｉｖａｔｅ」が入力される。なお、用途に応じて「ｐｕｂｌｉｃ」または「ｐｒｉｖａｔｅ」に固定されていてもよい。入力エリアＡ３に入力される戻り値の型は、当該インターフェイス関数が処理した結果を返す型であり、図８（ａ）に示すように、プルダウン表示されるデータ（ｂｏｏｌ，ｂｙｔｅ，ｃｈａｒ，ｄｅｃｉｍａｌ，ｄｏｕｂｌｅ，ｆｌｏａｔ，ｉｎｔ，ｌｏｎｇ等）の中からいずれか１つを選択入力可能となっている。入力エリアＡ４に入力されるメソッド名は、当該インターフェイス関数の識別名である。入力エリアＡ５に入力される修飾子は、当該インターフェイス関数が有するパラメータの属性を表わすもので、図８（ｂ）に示すように、プルダウン表示されるデータ（なし，ｒｅｆ，ｏｕｔ）の中からいずれか１つを選択入力可能となっている。入力エリアＡ６に入力される型は、当該インターフェイス関数が有するパラメータ自身の型であり、図８（ｃ）に示すように、プロダウン表示されるデータ（ｂｏｏｌ，ｂｙｔｅ，ｃｈａｒ，ｄｅｃｉｍａｌ，ｄｏｕｂｌｅ，ｆｌｏａｔ，ｉｎｔ，ｌｏｎｇ等）の中からいずれか１つを選択入力可能となっている。入力エリアＡ７に入力されるパラメータ名は、当該インターフェイス関数が有するパラメータの識別名である。
【００２９】
この状態で、プログラミング支援機能部１５は、いずれかの操作ボタンＢ５〜Ｂ８が操作されるのを待機する。ここで、ＳＴ１２として追加ボタンＢ５が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、パラメータに関する入力エリアＡ５，Ａ６，Ａ７にそれぞれ修飾子，型及び識別名が入力されているか否かを判断し、入力されていた場合にはその入力データを新規パラメータ（修飾子，型，式別名）として一覧エリアＡ８に追加表示させる。また、この新規パラメータを含むプログラムコードを作成して、署名エリアＡ９に表示させる。その後、再びいずれかの操作ボタンＢ５〜Ｂ８が操作されるのを待機する。
【００３０】
また、ＳＴ１３として削除ボタンＢ６が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、一覧エリアＡ８に表示されているパラメータデータの中からいずれかのデータが選択されているか否かを判断し、選択されていた場合には、そのパラメータデータを一覧エリアＡ８から削除する。また、署名エリアＡ９に表示されているプログラムコードから当該パラメータデータに相当するコードを削除する。その後、再びいずれかの操作ボタンＢ５〜Ｂ８が操作されるのを待機する。
【００３１】
これに対し、ＳＴ１４としてＯＫボタンＢ７が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、各入力エリアＡ２〜Ａ７を介してインターフェイス関数の定義に必須の各項目（アクセス制御子，戻り値の型，メソッド名及びパラメータ）が入力されているか否かを判断する。ここで、入力されていない場合には、ＯＫボタンＢ７の操作を無視して、再びいずれかの操作ボタンＢ５〜Ｂ８が操作されるのを待機する。
【００３２】
一方、各必須項目が入力されていた場合には、プログラミング支援機能部１５は、その入力項目からインターフェイス関数の定義を表わすプログラムコードを作成する。このとき、戻り値の型に応じた当該戻り値の初期値を表わすコードを追加してプログラムコードを作成する（コード作成手段）。そして、プログラミング支援機能部１５は、作成したプログラムコードを前記対象プログラムの現時点における関数記述エリアの最後尾に追加するべくプログラミング基本機能部１１に出力する（コード追加手段）。
【００３３】
しかる後、プログラミング支援機能部１５は、当該対象プログラムのプログラムコードを再度検索して、関数作成機能１５１により作成されたインターフェイス関数部分のプログラムコードからインターフェイス関数を定義する必須項目（アクセス制御子，戻り値の型，メソッド名及びパラメータ）の値を抽出する。そして、インターフェイス関数作成用ダイアログボックスＧ２を消去した後、関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させ、このダイアログボックスＧ１内に対象プログラムから抽出した全てのインターフェイス関数のメソッド名，戻り値の型及びパラメータのリスト画面を表示させる。その後、各操作ボタンＢ１〜Ｂ４の操作を再び待機する。
【００３４】
なお、ＳＴ１５としてキャンセルボタンＢ８が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、インターフェイス関数の作成がキャンセルされたので、インターフェイス関数作成用ダイアログボックスＧ２を消去し、作成ボタンＢ１が操作される前の状態の関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させる。
【００３５】
例えば今、プログラミング作業者が図１１に示すソースプログラム例の破線Ｐ１で囲った領域を除いたところまでプログラムコードを記述したとする。すなわち、１行目にプログラム名「ｎａｍｅｓｐａｃｅ  ＣｒｏｓｓＭｉｓｓｉｏｎＳｅｒｖｉｃｅ１」を記述し、３行目にクラス名「ｐｕｂｌｉｃ  ｃｌａｓｓ  Ｓｒｅｖｉｃｅ１：Ｓｙｓｔｅｍ．Ｓｅｒｖｉｃｅｓ」を記述し、５行目に関数「ｐｕｂｌｉｃ  Ｓｒｅｖｉｃｅ１（  ）」を記述し、６行目以降のカッコ｛  ｝内に関数「ｐｕｂｌｉｃ  Ｓｒｅｖｉｃｅ１（  ）」の特性を表わすプログラムコードを記述したとする。
【００３６】
ここで、次に、当該ソースプログラムに破線Ｐ１で囲われた領域内のプログラムコード，つまりインターフェイス関数の定義を表わすプログラムコードを挿入する場合、従来は、プログラミング作業者がそのプログラムコードを１文字ずつ所定の順番で入力しなければならなかったが、本実施の形態では、先ず、関数作成業務を選択する。そうすると、表示部３に図６に示す内容の関数作成ウィザード用ダイアログボックスＧ１が表示されるので、プログラミング作業者は、作成ボタンＢ１を押下操作する。そうすると、表示部３にインターフェイス関数作成用ダイアログボックスＧ２が表示されるので、プログラミング作業者は、図９に示す如く各項目のデータを入力または選択する。すなわち、アクセス制御子として「ｐｕｂｌｉｃ」を入力し、戻り値の型として「ｉｎｔ」を選択し、メソッド名として「Ｆｕｎｃｔｉｏｎ１」を入力し、第１のパラメータとして「ｓｔｒｉｎｇ  ｐａｒａｍ１」を入力し、第２のパラメータとして「ｒｅｆ  ｌｏｎｇ  ｐａｒａｍ２」を入力し、第３のパラメータとして「ｏｕｔ  ｉｎｔ  ｐａｒａｍ３」を入力する。しかる後、プログラミング作業者は、ＯＫボタンＢ７を押下操作する。そうすると、表示部３には、図１０に示す内容の関数作成ウィザード用ダイアログボックスＧ１が表示される。また、対象プログラムには、図１１に示すように、現時点における関数記述エリア（クラス「Ｓｅｒｖｉｃｅ１」のカッコ｛  ｝内）の最後尾（関数「Ｓｅｒｖｉｃｅ１」の閉じカッコ“｛”の次の行｝に、破線Ｐ１で囲われた領域内のプログラムコード，つまりはインターフェイス関数の定義を表わすプログラムコードが挿入される。
【００３７】
因みに、この挿入されたプログラムコードにおいて、１行目のコード「［Ｓｕｐｐｏｔ  Ｍｅｔｈｏｄ］」は、関数作成機能１５１によって作成されたプログラムコードであることを識別するための情報である。２行目のコード「ｐｕｂｌｉｃ  ｉｎｔ  Ｆｕｎｃｔｉｏｎ１（ｓｔｒｉｎｇ  ｐａｒａｍ１，ｒｅｆ  ｌｏｎｇ  ｐａｒａｍ２，ｏｕｔ  ｉｎｔ  ｐａｒａｍ３）」は、識別名Ｆｕｎｃｔｉｏｎ１の公開型インターフェイス関数で、その戻り値の型が整数型ｉｎｔであること、及び文字列型ｓｔｒｉｎｇの変数ｐａｒａｍ１と、属性ｒｅｆで整数型ｌｏｎｇの変数ｐａｒａｍ２と、属性ｏｕｔで整数型ｉｎｔの変数ｐａｒａｍ３とを有することを示す。４行目のコード「ｒｅｔｕｒｎ  ０」は、戻り値の型ｉｎｔの初期値を表わす。このコード「ｒｅｔｕｒｎ  ０」を追加することにより、プログラムコードの文法上の誤りがなくなり、この操作を終了後にコンパイルしてもエラーが発生することはない。
【００３８】
なお、インターフェイス関数の戻り値の型が文字列型ｓｔｒｉｎｇの場合には、初期値として「ｒｅｔｕｒｎ  ｎｕｌｌ」を追加することで、文法上の誤りがなくなる。同様に、論理型ｂｏｏｌの場合には、初期値として「ｒｅｔｕｒｎ  ｔｒｕｅ」を追加することで、文法上の誤りがなくなる。
【００３９】
次に、編集処理について図４及び図１２〜図１６を用いて説明する。
なお、説明の便宜上、図１２に示す内容のプログラムコードが記述されたソースプログラムを編集対象のプログラムとする。この例において、破線Ｐ２で囲われた領域内は、本実施の形態の関数作成機能１５１により追加されたプログラムコードである。したがって、関数作成ウィザード用ダイアログボックスＧ１のリスト表示エリアＡ１には、図１３に示すように、インターフェイス関数のメソッド名［Ｆｕｎｃｔｉｏｎ１］，戻り値の型［ｉｎｔ］及びパラメータ（ｓｔｒｉｎｇ  ｐａｒａｍ１，ｒｅｆ  ｌｏｎｇ  ｐａｒａｍ２，ｏｕｔ  ｉｎｔ  ｐａｒａｍ３）と、インターフェイス関数のメソッド名［Ｆｕｎｃｔｉｏｎ２］，戻り値の型［ｓｔｒｉｎｇ］及びパラメータ（ｌｏｎｇ  ｐａｒａｍｅｔｅｒ１）とが表示される。
【００４０】
図４は編集処理の要部を示す流れ図である。すなわちプログラミング支援機能部１５は、関数作成ウィザード用ダイアログボックスＧ１の編集ボタンＢ２が押下操作されたことを検知すると、この処理を開始する。先ず、ＳＴ２１としてリスト表示エリアＡ１に表示されているインターフェイス関数のデータからいずれか１つのデータが選択されていることを確認する。なお、選択されていない場合には、修正ボタンＢ２の操作を無視して、ボタン操作前の状態に戻る。
【００４１】
インターフェイス関数のデータが選択されていた場合には、その関数データの修正が指示されたので、プログラミング支援機能部１５は、ＳＴ２２としてその選択されたインターフェイス関数のデータに対応するプログラムコードを解析し、その内容からアクセス制御子，戻り値の型，メソッド名及びパラメータを取得する。そして、ＳＴ２３としてこの取得した各項目のデータをメモリに一時保存する。
【００４２】
次に、プログラミング支援機能部１５は、ＳＴ２４として図１４に示す如く前記インターフェイス関数作成用ダイアログボックスＧ２と同様の画面レイアウトを有するインターフェイス関数編集用ダイアログボックスＧ３を表示部３に表示させる。そして、このダイアログボックスＢ３の入力エリアＡ２，Ａ３，Ａ４及びパラメータの一覧表示エリアＡ８に、それぞれメモリに保存したアクセス制御子，戻り値の型，メソッド名及びパラメータの各項目データを表示させる。因みに、図１４は、図１３において破線Ｐ３で囲われた領域内のインターフェイス関数データが選択された状態で修正ボタンＢ２が操作されたときのインターフェイス関数編集用ダイアログボックスＧ３の表示例である。
【００４３】
この状態で、プログラミング支援機能部１５は、いずれかの操作ボタンＢ５〜Ｂ８が操作されるのを待機する。ここで、ＳＴ２５として追加ボタンＢ５が押下操作されたことを検知した場合、及びＳＴ２６として削除ボタンＢ６が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、作成処理において追加ボタンＢ５が押下操作されたことを検知したとき、及び削除ボタンＢ６が押下操作されたことを検知したときと同様な処理を実行する。
【００４４】
一方、ＳＴ２７としてＯＫボタンＢ７が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、ダイアログボックスＢ３の入力エリアＡ２，Ａ３，Ａ４及びパラメータの一覧表示エリアＡ８に表示されている内容（修正後項目）とメモリに一時保存した内容（修正前項目）とを比較する。その結果、両者が一致する場合には、データの修正が行なわれなかったので、プログラミング支援機能部１５は、インターフェイス関数編集用ダイアログボックスＧ３を消去し、編集ボタンＢ２が操作される前の状態の関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させる。
【００４５】
これに対し、修正前項目に対して修正後項目が異なる場合には、データの修正が行なわれたので、プログラミング支援機能部１５は、修正後項目からインターフェイス関数の定義をを表わすプログラムコードを作成する。このとき、戻り値の型に応じた当該戻り値の初期値を表わすコードを追加してプログラムコードを作成する。そして、プログラミング支援機能部１５は、作成したプログラムコードを前記対象プログラムの修正データに対応するインターフェイス関数部分のプログラムコードに対して上書きするべくプログラミング基本機能部１１に出力する（コード修正手段）。
【００４６】
しかる後、プログラミング支援機能部１５は、当該対象プログラムのプログラムコードを再度検索して、関数作成機能１５１により作成されたインターフェイス関数部分のプログラムコードからインターフェイス関数を定義する必須項目（アクセス制御子，戻り値の型，メソッド名及びパラメータ）の値を抽出する。そして、インターフェイス関数編集用ダイアログボックスＧ３を消去した後、関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させ、このダイアログボックスＧ１内に対象プログラムから抽出した全てのインターフェイス関数のメソッド名，戻り値の型及びパラメータのリスト画面を表示させる。その後、各操作ボタンＢ１〜Ｂ４の操作を再び待機する。
【００４７】
なお、ＳＴ２８としてキャンセルボタンＢ８が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、インターフェイス関数の修正がキャンセルされたので、インターフェイス関数編集用ダイアログボックスＧ３を消去し、修正ボタンＢ２が操作される前の状態の関数作成ウィザード用ダイアログボックスＧ１を表示部３に再度表示させる。
【００４８】
例えば、図１４に示す内容のインターフェイス関数編集用ダイアログボックスＧ３が表示されている状態で、プログラミング作業者がメソッド名を「Ｆｕｎｃｔｉｏｎ２」から「Ｆｕｎｃｔｉｏｎ３」に変更し、ＯＫボタンＢ７を押下操作したとする。そうすると、表示部３には、図１５に示す内容の関数作成ウィザード用ダイアログボックスＧ１が表示される。すなわち、破線Ｐ３で示す領域内のデータのメソッド名が「Ｆｕｎｃｔｉｏｎ２」から「Ｆｕｎｃｔｉｏｎ３」に修正される。また、対象プログラムは、図１６に示すように変更される。すなわち、破線Ｐ２で示す領域内の７行目のプログラムコード「ｐｕｂｌｉｃ  ｓｔｒｉｎｇ  Ｆｕｎｃｔｉｏｎ２（ｌｏｎｇ  ｐａｒａｍｅｔｅｒ１）」が「ｐｕｂｌｉｃ  ｓｔｒｉｎｇ  Ｆｕｎｃｔｉｏｎ３（ｌｏｎｇ  ｐａｒａｍｅｔｅｒ１）」に上書き修正される。
【００４９】
次に、削除処理について図５及び図１７〜図１９を用いて説明する。
なお、説明の便宜上、図１７に示す内容のプログラムコードが記述されたソースプログラムを削除対象のプログラムとする。この例において、破線Ｐ４で囲われた領域内は、本実施の形態の関数作成機能１５１により追加されたプログラムコードである。ただし、その中の破線Ｐ５で囲われた領域内は、戻り値の型ｓｔｒｉｎｇの初期値「ｒｅｔｕｒｎ  ｎｕｌｌ」に替えて、プログラミング作業者が記述した部分である。ここでは、このプログラミング作業者が記述した部分を含むインターフェイス関数を削除する場合について説明する。
【００５０】
図５は削除処理の要部を示す流れ図である。すなわちプログラミング支援機能部１５は、関数作成ウィザード用ダイアログボックスＧ１の削除ボタンＢ３が押下操作されたことを検知すると、この処理を開始する。先ず、ＳＴ３１としてリスト表示エリアＡ１に表示されているインターフェイス関数のデータからいずれか１つのデータが選択されていることを確認する。なお、選択されていない場合には、削除ボタンＢ３の操作を無視して、ボタン操作前の状態に戻る。
【００５１】
インターフェイス関数のデータが選択されていた場合には、その関数データの削除が指示されたので、プログラミング支援機能部１５は、ＳＴ３２としてその選択されたインターフェイス関数のデータに対応するプログラムコードを取得し、メモリに一時保存する。
【００５２】
次に、プログラミング支援機能部１５は、ＳＴ３３として図１８に示す画面レイアウトのインターフェイス関数削除用ダイアログボックスＧ４を表示部３に表示させる。このダイアログボックスＧ４には、操作ボタンとして、削除対象の関数データに対応するプログラムコード部分をソースプログラムから実際に削除する削除モードを選択する“はい”ボタンＢ９と、当該プログラムコードをプログラム上に残したまま無効化するコメントアウトモードを選択する“いいえ”ボタンＢ１０と、削除の中止を指令するキャンセルボタンＢ１１とが形成されている。
【００５３】
この状態で、プログラミング支援機能部１５は、いずれかの操作ボタンＢ９〜Ｂ１１が操作されるのを待機する。そして、ＳＴ３４として“はい”ボタンＢ９が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、当該ソースプログラムからメモリに一時保存したプログラムコード，つまりは削除対象のプログラムコードを削除する（コード削除手段）。また、“いいえ”ボタンＢ１０が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、当該ソースプログラムからメモリに一時保存したプログラムコード，つまりは削除対象のプログラムコードの各行の先頭にコメントアウト用のマークを付してコメントアウト処理する（コード削除手段）。
【００５４】
その後、プログラミング支援機能部１５は、当該対象プログラムのプログラムコードを再度検索して、関数作成機能１５１により作成されたインターフェイス関数部分のプログラムコードからインターフェイス関数を定義する必須項目（アクセス制御子，戻り値の型，メソッド名及びパラメータ）の値を抽出する。そして、インターフェイス関数削除用ダイアログボックスＧ４を消去した後、関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させ、このダイアログボックスＧ１内に対象プログラムから抽出した全てのインターフェイス関数のメソッド名，戻り値の型及びパラメータのリスト画面を表示させる。その後、各操作ボタンＢ１〜Ｂ４の操作を再び待機する。
【００５５】
なお、ＳＴ３６としてキャンセルボタンＢ１１が押下操作されたことを検知した場合には、プログラミング支援機能部１５は、インターフェイス関数の削除がキャンセルされたので、インターフェイス関数削除用ダイアログボックスＧ４を消去し、削除ボタンＢ３が操作される前の状態の関数作成ウィザード用ダイアログボックスＧ１を表示部３に表示させる。
【００５６】
図１７に示す内容のソースプログラムを作成した段階で、破線Ｐ５で囲われたプログラムコードを含むインターフェイス関数（メソッド名「Ｆｕｎｃｔｉｏｎ３」を削除する必要が生じた場合、プログラミング作業者は、関数作成業務を選択する。そうすると、図１５に示すリスト内容の関数作成ウィザード用ダイアログボックスＧ１が表示されるので、プログラミング作業者は、同図中破線Ｐ３で囲われた領域内のデータを選択後、削除ボタンＢ３を押下操作する。
【００５７】
そうすると、インターフェイス関数削除用ダイアログボックスＧ４が表示部３に表示されるので、プログラミング作業者は、削除モードによって当該プログラムコードを削除するか、コメントアウトモードによって当該プログラムコードを削除するかを決める。そして、削除モードによって削除する場合には、“はい”ボタンＢ９を押下操作する。これにより、当該ソースプログラムから削除対象のインターフェイス関数を定義するプログラムコードが削除されて、ソースプログラムは、図１１に示す内容となる。
【００５８】
一方、コメントアウトモードによって削除する場合には、プログラミング作業者は、“いいえ”ボタンＢ１０を押下操作する。これにより、図１９に示すように、当該ソースプログラムのうち削除対象のインターフェイス関数を定義するプログラムコードの先頭にコメントアウトを示すマーク「／／」が追加されて、コメントアウト処理される。
【００５９】
なお、図１９のコメントアウトマーク「／／」は、ソースプログラムのプログラミング言語がＶｉｓｕａｌ  Ｃ＃及びＶｉｓｕａｌ  Ｊ＃である場合であり、プログラミング言語がＶｉｓｕａｌ  Ｂａｓｉｃ（登録商標）の場合には、その先頭にマーク「‘」を付すことでコメントアウト処理される。
【００６０】
このように本実施の形態によれば、インターフェイス関数作成用ダイアログボックスＧ２に形成されている各入力エリアＡ２〜Ａ７に該当するデータを入力するだけで、既存のソースプログラムに所望するインターフェイス関数の定義を表わすプログラムコードを追加することができる。したがって、プログラミング作業者は、インターフェイス関数の定義を表わすプログラムコードを１文字ずつ所定の順序で入力する手間が不要となる。また、プログラムコードを追加する位置を手動で探す面倒もなくなる。
【００６１】
また、インターフェイス関数編集用ダイアログボックスＧ２に形成されている各入力エリアＡ２〜Ａ７のデータを変更するだけで、既存のソースプログラムに追加されていたインターフェイス関数を定義するプログラムコードを修正することができる。したがって、プログラミング作業者は、修正が必要なプログラムコードをソースプログラムから探し出し、さらにその中から修正する項目のコードを探し出して修正する手間もなくなる。
【００６２】
さらに、関数作成機能１５１によってソースプログラムに追加されたプログラムコードに相当するリストデータを関数作成ウィザード用ダイアログボックスＧ１から選択し、削除ボタンＢ４を操作するだけで、当該プログラムコードをソースプログラムから削除することができる。この場合において、当該プログラムコードをソースプログラムから実際に削除するかコメントアウトするかを容易に選択することができる。したがって、プログラミング作業者は、削除が必要なプログラムコードをソースプログラムから探し出し、実際に削除したり、コメントアウトマークを付したりする手間もなくなる。
【００６３】
よって、本実施の形態によれば、プログラミング作業のより一層の効率化を図ることができる。
【００６４】
なお、本実施の形態では、インターフェイス関数を定義するプログラムコードのプログラミング作業を簡略化した場合を示したが、その他の関数を定義するプログラムコードのプログラミング作業を簡略化する場合にも、本発明は同様に適用できるものである。
【００６５】
また、本実施の形態において例示した各種ダイアログボックスＧ１〜Ｇ４の画面レイアウトは、あくまでもその一例であって、本発明はこれに限定されるものではないのは言うまでもないことである。
【００６６】
【発明の効果】
以上詳述したように本発明によれば、プログラムコードを記述する場所を意識しつつ１文字ずつコードを入力するという煩雑なプログラミング作業を大幅に減らすことができ、プログラミング作業者の負担を軽減し得、プログラミング作業の効率化を図ることができるプログラミング支援装置及び方法並びにプログラミング支援プログラムを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であるプログラミング装置の要部構成を示すブロック図。
【図２】同実施の形態においてプログラミング支援機能部が実行するメイン処理の要部手順を示す流れ図。
【図３】図２における作成処理の要部手順を示す流れ図。
【図４】図２における編集処理の要部手順を示す流れ図。
【図５】図２における削除処理の要部手順を示す流れ図。
【図６】同実施の形態において表示部に表示される関数作成ウィザード用ダイアログボックスの画面レイアウト例を示す模式図。
【図７】同実施の形態において表示部に表示されるインターフェイス関数作成用ダイアログボックスの画面レイアウト例を示す模式図。
【図８】インターフェイス関数作成用ダイアログボックス内における各入力エリアのプルダウン表示例を示す模式図。
【図９】作成処理において、インターフェイス関数作成用ダイアログボックスに表示されるデータの一例を示す模式図。
【図１０】作成処理において、関数作成ウィザード用ダイアログボックスに表示されるデータの一例を示す模式図。
【図１１】作成処理において、使用されるソースプログラムの一例を示す模式図。
【図１２】編集処理において、使用されるソースプログラムの編集前の例を示す模式図。
【図１３】編集処理において、関数作成ウィザード用ダイアログボックスに表示される編集前データの一例を示す模式図。
【図１４】同実施の形態において表示部に表示されるインターフェイス関数編集用ダイアログボックスの画面レイアウト例を示す模式図。
【図１５】編集処理において、関数作成ウィザード用ダイアログボックスに表示される編集後データの一例を示す模式図。
【図１６】編集処理において、使用されるソースプログラムの編集後の例を示す模式図。
【図１７】削除処理において、使用されるソースプログラムの削除前の例を示す模式図。
【図１８】同実施の形態において表示部に表示されるインターフェイス関数削除用ダイアログボックスの画面レイアウト例を示す模式図。
【図１９】削除処理において、使用されるソースプログラムのコメントアウト処理後の例を示す模式図。
【符号の説明】
１…プログラミング装置本体、２…操作部、３…表示部、１１…プログラミング基本機能部、１２…記憶部、１２１…プログラムファイル、１３…入出力制御部、１４…通信制御部、１５…プログラミング支援機能部、１５１…関数作成機能。
【図１】
2005025263.tif 000003
【図２】
2005025263.tif 000004
【図３】
2005025263.tif 000005
【図４】
2005025263.tif 000006
【図５】
2005025263.tif 000007
【図６】
2005025263.tif 000008
【図７】
2005025263.tif 000009
【図８】
2005025263.tif 000010
【図９】
2005025263.tif 000011
【図１０】
2005025263.tif 000012
【図１１】
2005025263.tif 000013
【図１２】
2005025263.tif 000014
【図１３】
2005025263.tif 000015
【図１４】
2005025263.tif 000016
【図１５】
2005025263.tif 000017
【図１６】
2005025263.tif 000018
【図１７】
2005025263.tif 000019
【図１８】
2005025263.tif 000020
【図１９】
2005025263.tif 000021
【手続補正書】
【提出日】平成15年7月11日(2003.7.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
また、関数の１種としてインターフェイスと称されるものがある。インターフェイスは、それらの実装について与えられた情報を全く持たないメソッドの集まりで、アクセス制御子，戻り値の型，メソッド名及び変数（パラメータ）の各項目で表わされる。変数は、複数設定可能であり、属性，型及び名前の各項目で表わされる。インターフェイスをプログラムコードで記述する場合、「アクセス制御子，戻り値の型，メソッド名（変数の属性，型，名前）」というフォーマットで記述する必要がある。
【特許文献１】
特開平１１−３２７８８６号公報