2016 Fiscal Year Research-status Report
Javaプログラミングスタイル学習のためのEclipseプラグインツール
Project/Area Number |
15K01035
|
Research Institution | Teikyo University |
Principal Investigator |
荒井 正之 帝京大学, 理工学部, 教授 (70212602)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | プログラミングスタイル / 学習ツール / Java |
Outline of Annual Research Achievements |
本研究の目的は,Java言語のプログラミング初学者のために,プログラミングスタイルが自学自習可能なツールを開発することである.学修者は,このツールを用いることにより,1.適切な字下げ,2.ソールコードに対する適切なコメントの挿入位置,3.Javaの命名規則に従った適切なクラス名,メソッド名,変数名,4.変数名に英語を用いて命令することの重要性,5.適切な変数のスコープなどを学ぶことができる. 大学の理工系学部情報系学科の学生によって,プログラミングは必須である.初期のプログラミング授業では,プログラムの全体構造,アルゴリズム,データ構造等の講義や演習に多くの時間がとられ,プログラミングスタイルを学修するための時間をとることが難しい.プログラミングスタイルは,ソフトウェアの開発を効率的に行うため,そしてプログラム再利用のために非常に重要である.なぜならばプログラミングスタイルに従って,ソースプログラムを書くことで,コードが読みやすくなるとともに,バグが減るからである.プログラミング初学者のプログラミングスタイルに対する意識は一般に低い.また前述のとおり,プログラミングスタイルに関する時間をあまりとることができない.そのためプログラミングスタイルを身につけられない学生が多い.本研究では,これらの問題点を解決するために,Java言語のプログラミングスタイルが自学自習可能なツールの開発を目的とする. なお本ツールは,多くのプログラマーが開発環境として利用しているEclipseのプラグインとして実装する. 今年度は,キャメル方式推奨機能,英単語推奨機能,コメント記入位置推奨機能等の実装を行った.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究目的で述べた5つの機能を実装した.まずは,字句解析,構文解析を行った後,以下の情報を抽出できるようになった.(1)プログラムの中で使われいるクラス,メソッド,変数等が使われている箇所,(2)繰り返し処理,条件分岐処理等の箇所,(3)字下げが不適切な箇所,(4)1行にブレイスが複数ある箇所など. 続いて,キャメル方式推奨機能を実装した.ソースプログラムから抽出した変数名,クラス名,メソッド名等に対してまず1文字目を調べる.次に変数名等の先頭から文字を順に探索して,大文字の前で分割できるようになった.例えばClassNameという複合語の場合,この処理によりClassとNameという2つの単語に分割される.続いて,それらの単語が英単語辞書および英単語略語辞典にあるかを調べる.単語が辞書に存在しない場合,キャメル方式が守られていない可能性があるため「メソッド名は英語にしよう」と注意を促せる機能を実装した. 次に英単語推奨機能を実装した.英単語辞書および英単語略語辞書には,Representational State Transfer(REST)という手法を用いた.英単語辞書検索用のRESTサービスでは,URLの中に検索したい単語を挿入することで,その単語の検索結果のXMLデータが返ってくる仕組みである. 最後にコメント推奨機能を実装した.(1)クラス,メソッド,変数の宣言箇所,(2)繰り返し処理,条件分岐処理等の該当箇所に「変数に関する説明を書こう」などと注意を促せるようになった.
|
Strategy for Future Research Activity |
バグフィックス等の後,プログラミングの実授業で本ツールを使い,アンケート調査によりツールの評価を行う.評価項目は次のように考えている. (1)このツールを使用することにより,適切なコメントの位置,キャメルケースの使い方,適切なインデント,変数のネーミングの重要性,理解しやすい変数の長さを理解することができたか.(2)このツールを使うことでJava言語のプログラミングスタイルが学修できたか.(3)ツールは使いやすいか.(4)ツールのユーザインタフェースはよいか.(5)このツールを再度使用したいか.
|
Causes of Carryover |
ツールの開発,評価に使用するコンピュータの購入が遅くなったため.
|
Expenditure Plan for Carryover Budget |
ツールの開発に必要なデスクトップコンピュータとツールの評価に必要なノートPCを購入する.またそれらにインストールするソフトウェアも購入する.本研究に関する論文を国外で開催される国際会議,および国内で開催される研究会等で発表するための旅費に使用する.
|
-
-
-
-
-
[Presentation] Network Protocol Visualization Tools2017
Author(s)
Masayuki Arai
Organizer
2017 International Conference for Leading and Young Computer Scientists
Place of Presentation
Okinawa Convention Center(沖縄県宜野湾市)
Year and Date
2017-02-26 – 2017-02-26
Int'l Joint Research / Invited
-
-
-
-
-
[Presentation] Our Developed Pattern Recognition Systems2016
Author(s)
Masayuki Arai
Organizer
2016 IEEE 7th International Conference on Signal and Information Processing
Place of Presentation
North China University of Technology(中華人民共和国北京市)
Year and Date
2016-08-13 – 2016-08-15
Int'l Joint Research / Invited
-
-
-