JP2004258848A - プログラム作成支援方法およびシステム並びにプログラム - Google Patents

プログラム作成支援方法およびシステム並びにプログラム Download PDF

Info

Publication number
JP2004258848A
JP2004258848A JP2003047202A JP2003047202A JP2004258848A JP 2004258848 A JP2004258848 A JP 2004258848A JP 2003047202 A JP2003047202 A JP 2003047202A JP 2003047202 A JP2003047202 A JP 2003047202A JP 2004258848 A JP2004258848 A JP 2004258848A
Authority
JP
Japan
Prior art keywords
data type
naming rule
type information
data
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003047202A
Other languages
English (en)
Inventor
Masato Nishiguchi
真人 西口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2003047202A priority Critical patent/JP2004258848A/ja
Publication of JP2004258848A publication Critical patent/JP2004258848A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ユーザのプログラムを作成作業にリアルタイムに同期しながら現在のスコープやデータ型に応じた変数名を自動生成し、業務プログラムを効率良く作成することができるプログラム作成支援システム及び方法並びにプログラムを提供すること。
【解決手段】プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段と、データ型に対応したデータ名および変数名を記憶したデータ型情報記憶手段と、任意の入力情報に対し当該入力情報と一致するデータ型情報が前記データ型情報記憶手段に記憶されているかを検索し、記憶されていれば、スコープを判定し、当該スコープに対応した命名規則を命名規則記憶手段から取得する第1の手段と、取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第2の手段とを備える。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、各種の業務プログラムの作成に係るコーディング工程においてプログラムの編集作業を支援するプログラム作成支援システムおよび方法並びにプログラムに関するものである。
【0002】
【従来の技術】
従来、次の特許文献1で開示されているように、業務プログラム開発の編集作業を支援するシステムでは、文字数の多い仕様上の日本語名から、プログラムコード中で記述する英数字名を特定の変換規則によって生成するものがある。
【0003】
【特許文献1】
特開平6−332682号公報
【0004】
この特許文献1で開示されているシステムは、変数名(定義情報)の変換規則が登録されたデータベースを備えている。変数名の変換規則は、基本となる文字列の中から複数の部分文字列を抽出する位置情報と、位置情報によって抽出されたそれぞれの部分文字列を英語名に変換する対応辞書、英数字の断片を最終的に結合する規則である。すなわち、仕様書に記述される長い日本語名を短縮された英語名に変換するものである。
また、完成またはある程度完成したプログラムコードに対して、変数名称が命名規則を満たしているかを検査及び訂正する支援システムがある。
【0005】
【発明が解決しようとする課題】
しかしながら、上記の従来の技術で生成される短縮された変数名は、テーブルの列名やプログラムコードでの関数名や変数名の一部に使用できるだけであり、プログラムコード中で記述する名称そのものにはならない。すなわち、一般的に業務プログラムを作成する場合には、コードを記述するスコープやデータ型などに応じた各種名称の命名規則がコーディング基準として設けられているため、従来の技術で生成される英数字名称だけでは不十分である。
また、完成またはある程度完成したプログラムコードに対して、変数名称が命名規則を満たしているかを検査及び訂正する後者の従来の技術では、ユーザが作成したプログラムコードに対して一括した修正を行なうために、整形されていたプログラムコードが乱れることや、意図せぬ不具合が発生することがあった。
すなわち、従来の技術にあっては、ユーザが業務プログラムを作成するという作業にリアルタイムに同期しながら現在のスコープ(変数の適用範囲)やデータ型に応じた変数名を生成することができず、業務プログラムを効率良く作成することができないという問題があった。
【0006】
本発明の目的は、ユーザのプログラムを作成作業にリアルタイムに同期しながら現在のスコープやデータ型に応じた変数名を自動生成し、業務プログラムを効率良く作成することができるプログラム作成支援システム及び方法並びにプログラムを提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るプログラム作成支援システムは、プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段と、データ型に対応したデータ名および変数名を記憶したデータ型情報記憶手段と、任意の入力情報に対し当該入力情報と一致するデータ型情報が前記データ型情報記憶手段に記憶されているかを検索し、記憶されていれば、スコープを判定し、当該スコープに対応した命名規則を前記命名規則記憶手段から取得する第1の手段と、取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第2の手段とを備えることを特徴とする。
また、前記第2の手段が、前記命名規則情報記憶手段に記憶された変数名の自動入力後におけるカーソル位置の定義情報に従い、変数名の自動入力後にカーソル位置を移動させる手段をさらに備えることを特徴とする。
また、前記データ型情報記憶部に記憶させるデータ型、データ名、変数名を任意に編集するデータ型情報編集手段をさらに備えることを特徴とする。
【0008】
本発明に係るプログラム作成支援方法は、プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段と、データ型に対応したデータ名および変数名を記憶したデータ型情報記憶手段とを備え、プログラム作成作業における変数名の命名規則に従った変数名を自動的に生成する方法であって、任意の入力情報に対し当該入力情報と一致するデータ型情報が前記データ型情報記憶手段に記憶されているかを検索し、記憶されていれば、スコープを判定する第1のステップと、判定結果のスコープに対応した命名規則を前記命名規則記憶手段から取得する第2のステップと、取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第3のステップとを備えることを特徴とする。
また、前記第3のステップにおいて、前記命名規則情報記憶手段に記憶された変数名の自動入力後におけるカーソル位置の定義情報に従い、変数名の自動入力後にカーソル位置を自動移動させるステップをさらに備えることを特徴とする。
【0009】
本発明に係るプログラム作成支援プログラムは、任意の入力情報に対し当該入力情報と一致するデータ型情報がデータ型に対応したデータ名および変数名を記憶したデータに記憶されているかを検索し、記憶されていれば、スコープを判定する第1の処理ステップと、判定結果のスコープに対応した命名規則を、プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段から取得する第2の処理ステップと、取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第3の処理ステップとを備えることを特徴とする。
【0010】
【発明の実施の形態】
以下、本発明を図面に示す実施形態に基づいて詳細に説明する。
図1は、本発明を適用したプログラム作成支援システムの実施形態を示すブロック図である。
本実施形態のプログラム作成支援システム101は、キーボードやマウスからの入力を受け付ける入力部102と、画面にプログラムコードを表示する表示部103を持つテキストエディタなどのプログラム編集装置104、開発している業務プログラムのプログラムコード114で宣言されているユーザ定義のデータ型及び開発言語で宣言されているシステム定義のデータ型に関する情報が格納されているデータ型情報記憶部112、プログラム編集装置104に対するユーザの編集操作が発生した場合にユーザがデータ型情報112に格納されているデータ型を入力したかを検出するデータ型検索部105、ユーザが編集しているプログラムコードの位置からスコープを判定するスコープ判定部106、データ型とスコープなどに応じた命名規則が格納されている命名規則情報記憶部113、データ型とスコープなどを条件に命名規則情報記憶部113に記憶された命名規則を検索する命名規則検索部107、命名規則検索部107の検索結果に応じた変数名称をプログラム編集装置104に返し表示させる名称出力部108、プログラムコード114からユーザ定義とシステム定義のデータ型を抽出してデータ型情報記憶部112に格納するデータ型抽出部110、データ型抽出部110によって格納されたデータ型情報をユーザが編集するデータ型情報編集部111、ユーザが命名規則を命名規則情報記憶部113に登録する命名規則登録部109で構成される。
【0011】
この実施形態の動作について説明する。なお、以下の説明で用いるプログラム言語は、C++であるが、データ型検索部105やスコープ判定部106、データ型抽出部110などのプログラムコードにアクセスしている部分を言語に応じて修正することで複数の言語に対応することが可能である。
図2は、本発明における処理の概要を示したフローチャートである。
まず、ユーザ(プログラム開発者)がプログラム編集装置104に対して処理の開始を意味する操作を行なうことにより、データ型検出処理(ステップ201)が実行される。処理の開始を意味する操作とは、例えばスペースキーの押下やあるメニューのクリックなどである。ステップ201のデータ型検出処理は、プログラム編集装置104の表示部103に表示されているカーソル位置(次のプログラムコードの入力位置)の直前にある単語を取得し、データ型情報記憶部112にその単語と一致するデータ型が記憶されているかどうか検索する。
そして、一致するデータ型が記憶されていたかどうかを判定し(ステップ202)、記憶されていた場合には次のスコープ判定処理(ステップ203)へ進む。しかし、一致するデータ型が記憶されていなかった場合には処理の終了へ進む条件分岐を行なう。
ステップ203のスコープ判定処理では、プログラム編集装置104の表示部103に表示されている現在のカーソル位置が、プログラムコード中のどのスコープに該当するかを前後のプログラムコードを解析して判定する。
次に、ステップ204の命名規則検索処理でスコープ判定処理によって得られたスコープに該当する命名規則が命名規則情報記憶部113に記憶されているかを検索する。
最後に、ステップ205の名称出力処理では、ステップ201のデータ型検出処理で得られたデータ型に関する情報と、ステップ204の命名規則検索処理で得られた命名規則を用いて、データ型とスコープに適した変数名称を生成し、その生成結果をプログラム編集装置104に渡し、表示部103に表示させる。
【0012】
図3は、データ型情報記憶部112に格納されるデータ型情報の例を示すものである。
データ型情報は、1つのデータ型に関して、プログラムコードにおけるデータ型301と、仕様書などのドキュメント上で用いられる日本語であるデータ名302と、データ型が対象言語の型として定義されたものかユーザのプログラム中で定義されたものかを区別する定義区分303と、変数名称に記述する短縮された名称である生成文字列304の4つの情報で構成される。
データ型301と定義区分303の2つは、データ型抽出部110がプログラムコード114及びプログラムコード114が使用しているシステムヘッダファイルで宣言されているデータ型を抽出し、データ型情報記憶部112に格納する情報である。一方、データ名302と生成文字列304は、ユーザがコーディング基準に合わせてデータ型情報編集部111で入力するものである。
【0013】
図4は、データ型情報編集部111のデータ型情報編集画面401の例を示す図である。データ型情報編集画面401では、データ型情報記憶部112に格納されているデータ型に関する情報を一覧表示する。ユーザは表示されたデータ型情報の一覧から、プログラム中で使用するデータ型に関してデータ名402と生成文字列403を編集することができる。ユーザによって編集された内容は、データ型情報記憶部112に格納される。
図4の例では、データ型「CCustomer」に対して、データ名「顧客」、生成文字列「Cstm」を定義したことを示している。
【0014】
図5は、命名規則情報記憶部113に格納される命名規則情報の例を示すものである。命名規則情報は、1つのスコープ501に1つの命名規則文字列502を対応付けて構成される。スコープ501は、対象とするプログラム言語によって異なるが、本実施例ではC++を例にしているので、グローバル変数を示すグローバル503と、クラス宣言でのメンバ変数を示すクラス504、関数定義内でのローカル変数を示すローカル505、関数宣言または関数定義内の引数を示す引数506の4種類である。そして、それぞれのスコープには、データ型情報112に記憶されたデータ型情報の変換方法を定義した命名規則文字列502が対応付けて格納される。
【0015】
次に、命名規則文字列502について詳細に説明する。
図6は、命名規則文字列502で記述できる記号とその意味の一覧である。
命名規則文字列502は、図2のステップ205の名称出力処理がデータ型検出処理(ステップ201)で得られたデータ型に関する情報と特定のスコープ用の命名規則文字列502から変数名称を生成するための変換規則である。
命名規則文字列502には、図6に示す4つの記号が定義できる。
データ型601はデータ型情報のデータ型301に対応し、命名規則文字列502の「%d」がデータ型情報のデータ型301に変換される。
生成文字列602はデータ型情報の生成文字列304に対応し、命名規則文字列502の「%g」がデータ型情報の生成文字列304に変換される。
データ名604はデータ型情報のデータ名302に対応し、命名規則文字列502の「%m」がデータ型情報のデータ名302に変換される。
カーソル位置603は、名称出力処理(図2のステップ205)が生成された変数名称を表示部103に表示させた後にカーソルを移動させる位置を示している。ユーザは自動的に移動したカーソル位置から入力を継続することで変数名称を完成させることができる。
【0016】
図7は、これまでに説明した処理や各種情報を用いて実際に変数名称を生成する例を説明する図である。
生成前701は、クラス宣言内でこれからメンバ変数を定義しようとしている状態で、図中の三角マークは表示部103でのカーソル位置を示している。この状態で、図2で説明した処理が実行されると、カーソル前にある単語「Caccount」は、図3の例で取り上げたデータ型情報に一致することがデータ型検索部105で検索される。また、スコープは前述したようにクラスであることがスコープ判定部106で判定される。そして、図5の例で挙げた命名規則情報からスコープがクラスに該当する命名規則文字列502として「%d m_%g%c; /* %m */」が得られる。最後に名称出力部108において、得られた命名規則文字列「%d m_%g%c; /* %m */ 」に対して生成処理が行われる。生成処理では、「%d」が「Caccount」に、「%g」が「Acnt」に、「%m」が「口座」に変換され、生成結果の「CAccount m_Acnt; /* 口座 */ 」が得られる。
名称出力部108は、この生成結果を表示部103に表示させ、カーソル位置を示す「%c」に対応する位置にカーソルを移動させて、最後に、そのカーソル位置を示す「%c」を削除する。これにより、生成後702で示すような生成結果が得られる。
【0017】
なお、図3のデータ型情報の例において、生成文字列304には変数名を記憶させるようにしているが、変数名に代えてコメント文を登録しておけば、コメント文を自動的に入力することも可能である。
また、プログラム作成支援システム101は、開発作業を行うコンピュータ内で実行可能な支援プログラムとして提供することが可能である。
【0018】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ユーザはデータ型情報記憶手段に記憶されたデータ型の入力情報を入力すれば、現在の入力位置のスコープに応じた命名規則に従い、変数名やデータ名あるいはコメント文が自動的に生成されて自動入力される。すなわち、現在のスコープに応じた変数名やデータ名あるいはコメント文がリアルタイムに同期しながら生成されて自動入力される。
これにより、プログラム作成作業を中断することなく、効率良く行うことが可能になる。
さらに、自動生成して自動入力した変数名などの次の入力位置にカーソル位置を自動的に移動させることによって、ユーザの操作を中断させることなく、コーディング基準に準じたプログラム作成作業の効率を向上させることが可能になるなどの効果が得られる。
【図面の簡単な説明】
【図1】本発明を適用したプログラム作成支援システムの実施の形態を示すシステム構成図である。
【図2】本発明における処理の概要を示すフローチャートである。
【図3】データ型情報の例を示す図である。
【図4】データ型情報の編集画面の例を示す図である。
【図5】命名規則情報の例を示す図である。
【図6】命名規則情報中の記号の意味を示す図である。
【図7】変数名等の自動入力前の入力状態と自動入力後の状態を示す図である。
【符号の説明】
101…プログラム作成支援システム、102…入力部、103…表示部、104…プログラム編集装置、105…データ型検索部、106…スコープ判定部、107…命名規則検索部、108…名称出力部、109…命名規則登録部、110…データ型抽出部、111…データ型情報編集部、112…データ型情報記憶部、113…命名規則情報記憶部、114…プログラムコード。

Claims (6)

  1. プログラム作成作業における変数名の命名規則に従った変数名を自動的に生成するプログラム作成支援システムであって、
    プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段と、データ型に対応したデータ名および変数名を記憶したデータ型情報記憶手段と、任意の入力情報に対し当該入力情報と一致するデータ型情報が前記データ型情報記憶手段に記憶されているかを検索し、記憶されていれば、スコープを判定し、当該スコープに対応した命名規則を前記命名規則記憶手段から取得する第1の手段と、取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第2の手段とを備えることを特徴とするプログラム作成支援システム。
  2. 前記第2の手段が、前記命名規則情報記憶手段に記憶された変数名の自動入力後におけるカーソル位置の定義情報に従い、変数名の自動入力後にカーソル位置を移動させる手段をさらに備えることを特徴とする請求項1に記載のプログラム作成支援システム。
  3. 前記データ型情報記憶部に記憶させるデータ型、データ名、変数名を任意に編集するデータ型情報編集手段をさらに備えることを特徴とする請求項1または2に記載のプログラム作成支援システム。
  4. プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段と、データ型に対応したデータ名および変数名を記憶したデータ型情報記憶手段とを備え、プログラム作成作業における変数名の命名規則に従った変数名を自動的に生成するプログラム作成支援方法であって、
    任意の入力情報に対し当該入力情報と一致するデータ型情報が前記データ型情報記憶手段に記憶されているかを検索し、記憶されていれば、スコープを判定する第1のステップと、
    判定結果のスコープに対応した命名規則を前記命名規則記憶手段から取得する第2のステップと、
    取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第3のステップと
    を備えることを特徴とするプログラム作成支援方法。
  5. 前記第3のステップにおいて、前記命名規則情報記憶手段に記憶された変数名の自動入力後におけるカーソル位置の定義情報に従い、変数名の自動入力後にカーソル位置を自動移動させるステップをさらに備えることを特徴とする請求項4に記載のプログラム作成支援方法。
  6. プログラム作成作業における変数名の命名規則に従った変数名を自動的に生成するソフトウェア作成支援プログラムであって、
    任意の入力情報に対し当該入力情報と一致するデータ型情報がデータ型に対応したデータ名および変数名を記憶したデータに記憶されているかを検索し、記憶されていれば、スコープを判定する第1の処理ステップと、
    判定結果のスコープに対応した命名規則を、プログラムコードの入力位置のスコープに応じた命名規則を記憶した命名規則記憶手段から取得する第2の処理ステップと、
    取得した命名規則に従いデータ型情報に対応した変数名およびデータ名とを生成して自動入力する第3の処理ステップと
    を備えることを特徴とするプログラム作成支援プログラム。
JP2003047202A 2003-02-25 2003-02-25 プログラム作成支援方法およびシステム並びにプログラム Pending JP2004258848A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003047202A JP2004258848A (ja) 2003-02-25 2003-02-25 プログラム作成支援方法およびシステム並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003047202A JP2004258848A (ja) 2003-02-25 2003-02-25 プログラム作成支援方法およびシステム並びにプログラム

Publications (1)

Publication Number Publication Date
JP2004258848A true JP2004258848A (ja) 2004-09-16

Family

ID=33113507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003047202A Pending JP2004258848A (ja) 2003-02-25 2003-02-25 プログラム作成支援方法およびシステム並びにプログラム

Country Status (1)

Country Link
JP (1) JP2004258848A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176178A (ja) * 2008-01-28 2009-08-06 Meidensha Corp Plcのグローバル変数定義方式
JP2014081715A (ja) * 2012-10-15 2014-05-08 Mitsubishi Electric Corp プログラム作成支援装置及びプログラム
JP7503737B2 (ja) 2020-03-17 2024-06-21 株式会社Mixi プログラム、端末装置及び方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176178A (ja) * 2008-01-28 2009-08-06 Meidensha Corp Plcのグローバル変数定義方式
JP2014081715A (ja) * 2012-10-15 2014-05-08 Mitsubishi Electric Corp プログラム作成支援装置及びプログラム
JP7503737B2 (ja) 2020-03-17 2024-06-21 株式会社Mixi プログラム、端末装置及び方法

Similar Documents

Publication Publication Date Title
JP3969628B2 (ja) 翻訳支援装置、方法及び翻訳支援プログラム
CN104899010B (zh) 源代码的多语言化方法及系统
US8024175B2 (en) Computer program, apparatus, and method for searching translation memory and displaying search result
CN106843840A (zh) 一种基于相似度分析的源代码版本演化注释复用方法
JP4113235B2 (ja) 翻訳支援装置
JP2016164707A (ja) 自動翻訳装置及び翻訳用モデル学習装置
CN113419721A (zh) 基于web的表达式编辑方法、装置、设备和存储介质
JP2005352612A (ja) プログラム開発支援装置および変数名リスト表示方法
JP2006201873A (ja) 未登録語自動抽出装置及びプログラム、並びに未登録語自動登録装置及びプログラム
JP2004258848A (ja) プログラム作成支援方法およびシステム並びにプログラム
JP2006023968A (ja) 固有表現抽出方法および装置並びにそれらに用いるプログラム
JP2010146273A (ja) 文書検索装置およびプログラム
JP5123350B2 (ja) テストケース作成システム、方法およびプログラム
JP2017091024A (ja) 入力支援装置
JP2019087233A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP7083473B2 (ja) 入力支援装置
JP2009146196A (ja) 翻訳支援システム、翻訳支援方法および翻訳支援用プログラム
JP5389857B2 (ja) 開発支援システム、開発支援方法及び開発支援プログラム
JP4940258B2 (ja) 機械翻訳装置及びプログラム
JP2003177923A (ja) ポーティング支援システムにおける予約語変換方法
JP4933118B2 (ja) 文章区間抽出装置及びプログラム
JP2010020638A (ja) 言語処理装置および言語処理方法
JPH08329059A (ja) 汎用参照装置
JP3999771B2 (ja) 翻訳支援プログラム、翻訳支援装置、翻訳支援方法
JPH10149364A (ja) 訳語選択装置と記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070501

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070831