(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-24
(45)【発行日】2024-02-01
(54)【発明の名称】ソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラム
(51)【国際特許分類】
G06F 8/33 20180101AFI20240125BHJP
G06F 8/41 20180101ALI20240125BHJP
G06F 11/36 20060101ALI20240125BHJP
【FI】
G06F8/33
G06F8/41
G06F11/36 104
(21)【出願番号】P 2022544193
(86)(22)【出願日】2021-11-17
(86)【国際出願番号】 CN2021131091
(87)【国際公開番号】W WO2022267310
(87)【国際公開日】2022-12-29
【審査請求日】2022-07-20
(31)【優先権主張番号】202110693141.6
(32)【優先日】2021-06-22
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】王 初 晴
(72)【発明者】
【氏名】臧 志
(72)【発明者】
【氏名】彭 云 鵬
(72)【発明者】
【氏名】呂 志 旺
(72)【発明者】
【氏名】魏 嘉 ▲シュン▼
【審査官】児玉 崇晶
(56)【参考文献】
【文献】中国特許出願公開第108628607(CN,A)
【文献】特表2015-534688(JP,A)
【文献】米国特許出願公開第2019/0213101(US,A1)
【文献】米国特許出願公開第2021/0132915(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/33
G06F 8/41
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別することと、
前記補助開発機能が
前記補助開発機能に対
応するサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信することと、
前記補助開発機能の実行結果を取得することと、を含む、
ソフトウェア開発の補助処理方法。
【請求項2】
前記補助開発機能が
前記補助開発機能に対
応するサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信することは、
前記補助開発機能がコード走査である場合、現在のワークエリア内のファイルを取得して、処理対象である開発ファイルを得ることと、
コード走査プラットフォームに、前記処理対象である開発ファイルを含み、前記開発ファイルに対してコード走査を行い且つコード走査結果を返送するように、前記コード走査プラットフォームに指示するためのコード走査要求を送信することと、を含み、
前記補助開発機能の実行結果を取得することは、
前記開発ファイルに対するコード走査結果を取得することを含む、
請求項1に記載の方法。
【請求項3】
前記コード走査結果は、欠陥報告を含み、前記開発ファイルに対するコード走査結果を取得した後に、
前記欠陥報告を解析して、前記開発ファイルにおける欠陥の位置を特定することと、
前記開発ファイルにおける欠陥の位置に応じて、前記開発ファイルにおける欠陥のあるコード行をマーキングすることと、をさらに含む、
請求項2に記載の方法。
【請求項4】
前記開発ファイルにおける欠陥の位置に応じて、前記開発ファイルにおける欠陥のあるコード行をマーキングした後に、
マーキングされたコード行が選択された時に、マーキングされたコード行に対応する欠陥情報を表示することをさらに含む、
請求項3に記載の方法。
【請求項5】
前記開発ファイルに対するコード走査結果を取得した後に、
前記欠陥報告のリンク情報を表示することと、
前記欠陥報告のリンク情報がトリガーされた時に、前記欠陥報告を表示及び/又はダウ
ンロードすることと、をさらに含む、
請求項3に記載の方法。
【請求項6】
前記補助開発機能が
前記補助開発機能に対
応するサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信することは、
前記補助開発機能がコンパイルである場合、コンパイルプラットフォームに、コンパイル対象であるコードの情報を含み、前記コンパイル対象であるコードをコンパイルして、コンパイル結果ファイルを得るように、前記コンパイルプラットフォームに指示するためのコンパイル要求を送信することを含み、
前記補助開発機能の実行結果を取得することは、
前記コンパイル結果ファイルをローカル統合開発環境に自動的に引き取ることを含む、
請求項
1に記載の方法。
【請求項7】
前記コンパイル要求は、さらに、コンパイルログを記録するように前記コンパイルプラットフォームに指示するために用いられ、
前記コンパイルプラットフォームにコンパイル要求を送信した後に、
前記コンパイルログのリンク情報を表示することと、
前記コンパイルログのリンク情報がトリガーされた時に、前記コンパイルログを表示及び/又はダウンロードすることと、をさらに含む、
請求項6に記載の方法。
【請求項8】
前記ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別した後に、
前記補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で前記補助開発機能に対応する操作を実行し、前記補助開発機能の実行結果を取得することをさらに含む、
請求項
1に記載の方法。
【請求項9】
前記補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で前記補助開発機能に対応する操作を実行し、前記補助開発機能の実行結果を取得することは、
前記補助開発機能がコーディング規範リアルタイム誤り訂正である場合、現在のファイルにおけるコーディング規範問題をリアルタイムに検査することと、
前記現在のファイルにおいて、前記コーディング規範問題が所在する位置及び問題説明情報を表示することと、を含む、
請求項8に記載の方法。
【請求項10】
前記現在のファイルにおいて、前記コーディング規範問題が所在する位置及び問題説明情報を表示することは、
前記現在のファイルにおいて、コーディング規範問題のあるコード行をマーキングすることと、
マーキングされたコード行が選択された時に、マーキングされたコード行に対応するコーディング規範問題の問題説明情報を表示することと、を含む。
請求項9に記載の方法。
【請求項11】
前記補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で前記補助開発機能に対応する操作を実行し、前記補助開発機能の実行結果を取得することは、
前記補助開発機能がコーディング規範フォーマットである場合、前記現在のファイルにおけるコーディング規範問題に対して修正処理を行うことを含む、
請求項
8に記載の方法。
【請求項12】
前記現在のファイルにおけるコーディング規範問題を修正した後に、
前記現在のファイルに対するフォーマット取消操作に応じて、前記現在のファイルを前記修正処理前のものに回復することをさらに含む、
請求項11に記載の方法。
【請求項13】
前記ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別することは、
ユーザが入力した補助操作指令情報に対して自然言語処理を行い、補助操作指令情報とマッチしている補助開発機能を特定することを含む、
請求項
1に記載の方法。
【請求項14】
補助操作指令情報とマッチしている補助開発機能を特定できない場合、エラー提示情報を表示することをさらに含む、
請求項13に記載の方法。
【請求項15】
前記ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別する前に、
ローカル統合開発環境の開発インターフェースにダイアログボックスを表示することと、
ユーザが前記ダイアログボックスに入力した補助操作指令情報を取得することと、をさらに含む、
請求項
1に記載の方法。
【請求項16】
前記補助開発機能の実行結果を取得した後に、
前記ダイアログボックスに、対話インタラクションの方式で前記実行結果を表示することを含む、
請求項15に記載の方法。
【請求項17】
前記補助開発機能に対応する操作を実行した後、前記補助開発機能の実行結果を取得する前に、
前記ダイアログボックスに、前記補助開発機能の実行中に関する提示情報を表示することをさらに含む、
請求項15に記載の方法。
【請求項18】
ローカル統合開発環境の開発インターフェースにダイアログボックスを表示する前に、
ローカル統合開発環境に、ソフトウェア開発の補助処理を実現するためのスマート開発助手プラグインをインストールすることをさらに含む、
請求項
1に記載の方法。
【請求項19】
ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別するための機能識別モジュールと、
前記補助開発機能が
前記補助開発機能に対
応するサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信するための第一補助モジュールと、
前記補助開発機能の実行結果を取得するための実行結果処理モジュールと、を含む、
ソフトウェア開発の補助処理機器。
【請求項20】
前記第一補助モジュールは、
前記補助開発機能がコード走査である場合、現在のワークエリア内のファイルを取得して、処理対象である開発ファイルを得て、コード走査プラットフォームに、前記処理対象である開発ファイルを含み、前記開発ファイルに対してコード走査を行い且つコード走査結果を返送するように、前記コード走査プラットフォームに指示するためのコード走査要求を送信するためのコード走査サブモジュールを含み、
前記実行結果処理モジュールは、
前記開発ファイルに対するコード走査結果を取得するためのコード走査結果処理サブモジュールを含む、
請求項19に記載の機器。
【請求項21】
前記コード走査結果は、欠陥報告を含み、前記コード走査結果処理サブモジュールは、さらに、
前記開発ファイルに対するコード走査結果を取得した後に、前記欠陥報告を解析して、前記開発ファイルにおける欠陥の位置を特定することと、
前記開発ファイルにおける欠陥の位置に応じて、前記開発ファイルにおける欠陥のあるコード行をマーキングすることと、に用いられる、
請求項20に記載の機器。
【請求項22】
前記コード走査結果処理サブモジュールは、さらに、
前記開発ファイルにおける欠陥の位置に応じて、前記開発ファイルにおける欠陥のあるコード行をマーキングした後に、マーキングされたコード行が選択された時に、マーキングされたコード行に対応する欠陥情報を表示することに用いられる、
請求項21に記載の機器。
【請求項23】
前記コード走査結果処理サブモジュールは、さらに、
前記開発ファイルに対するコード走査結果を取得した後に、前記欠陥報告のリンク情報を表示することと、
前記欠陥報告のリンク情報がトリガーされた時に、前記欠陥報告を表示及び/又はダウ
ンロードすることと、に用いられる、
請求項21に記載の機器。
【請求項24】
前記第一補助モジュールは、
前記補助開発機能がコンパイルである場合、コンパイルプラットフォームに、コンパイル対象であるコードの情報を含み、前記コンパイル対象であるコードをコンパイルして、コンパイル結果ファイルを得るように、前記コンパイルプラットフォームに指示するためのコンパイル要求を送信するためのコンパイルモジュールを含み、
前記実行結果処理モジュールは、
前記コンパイル結果ファイルをローカル統合開発環境に自動的に引き取るためのコンパイル結果処理サブモジュールを含む、
請求項19~23の何れか一項に記載の機器。
【請求項25】
前記コンパイル要求は、さらに、コンパイルログを記録するように、前記コンパイルプラットフォームに指示するために用いられ、
前記コンパイル結果処理サブモジュールは、さらに、
コンパイルプラットフォームにコンパイル要求を送信した後に、前記コンパイルログのリンク情報を表示することと、
前記コンパイルログのリンク情報がトリガーされた時に、前記コンパイルログを表示及び/又はダウンロードすることと、に用いられる、
請求項24に記載の機器。
【請求項26】
前記補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で前記補助開発機能に対応する操作を実行し、前記補助開発機能の実行結果を取得するための第二補助モジュールをさらに含む、
請求項19~
23の何れか一項に記載の機器。
【請求項27】
前記第二補助モジュールは、
前記補助開発機能がコーディング規範リアルタイム誤り訂正である場合、現在のファイルにおけるコーディング規範問題をリアルタイムに検査するためのコーディング規範リアルタイム誤り訂正サブモジュールを含み、
前記実行結果処理モジュールは、
前記現在のファイルにおいて、前記コーディング規範問題が所在する位置及び問題説明情報を表示するためのコーディング規範リアルタイム誤り訂正結果処理サブモジュールを含む、
請求項26に記載の機器。
【請求項28】
前記コーディング規範リアルタイム誤り訂正結果処理サブモジュールは、さらに、
前記現在のファイルにおいて、コーディング規範問題のあるコード行をマーキングすることと、
マーキングされたコード行が選択された時に、マーキングされたコード行に対応するコーディング規範問題の問題説明情報を表示することと、に用いられる、
請求項27に記載の機器。
【請求項29】
前記第二補助モジュールは、
前記補助開発機能がコーディング規範フォーマットである場合、前記現在のファイルにおけるコーディング規範問題に対して修正処理を行うためのコーディング規範フォーマットサブモジュールを含む、
請求項2
6に記載の機器。
【請求項30】
前記コーディング規範フォーマットサブモジュールは、さらに、
前記現在のファイルに対するフォーマット取消操作に応じて、前記現在のファイルを前記修正処理前のものに回復することに用いられる、
請求項29に記載の機器。
【請求項31】
前記機能識別モジュールは、さらに、
ユーザが入力した補助操作指令情報に対して自然言語処理を行い、補助操作指令情報とマッチしている補助開発機能を特定することに用いられる、
請求項19
~23の何れか一項に記載の機器。
【請求項32】
前記機能識別モジュールは、さらに、
補助操作指令情報とマッチしている補助開発機能を特定できない場合、エラー提示情報を表示することに用いられる、
請求項31に記載の機器。
【請求項33】
前記ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別する前に、ローカル統合開発環境の開発インターフェースにダイアログボックスを表示し、ユーザが前記ダイアログボックスに入力した補助操作指令情報を取得するための情報入力モジュールをさらに含む、
請求項19
~23の何れか一項に記載の機器。
【請求項34】
前記実行結果処理モジュールは、さらに、
前記ダイアログボックスに、対話インタラクションの方式で前記実行結果を表示することに用いられる、
請求項33に記載の機器。
【請求項35】
前記実行結果処理モジュールは、さらに、
前記ダイアログボックスに、前記補助開発機能の実行中に関する提示情報を表示することに用いられる、
請求項33に記載の機器。
【請求項36】
ローカル統合開発環境に、ソフトウェア開発の補助処理を実現するためのスマート開発助手プラグインをインストールするためのインストールモジュールをさらに含む、
請求項19
~23の何れか一項に記載の機器。
【請求項37】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続するメモリとを含む電子機器であって、
前記メモリに、前記少なくとも1つのプロセッサによって実行され得る指令が記憶されており、前記少なくとも1つのプロセッサが請求項1~18のいずれか一項に記載の方法を実行するように、前記指令が前記少なくとも1つのプロセッサによって実行される、
電子機器。
【請求項38】
コンピュータに請求項1~18のいずれか一項に記載の方法を実行させるためのコンピュータ指令を記憶している、
非一時的なコンピュータ読取可能な記憶媒体。
【請求項39】
コンピュータにより実行される場合に、請求項1~18のいずれか一項に記載の方法を実行するプログラムコードを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、2021年06月22日に中国特許庁に提出した、出願号がCN 202110693141.6であり、出願名称が「ソフトウェア開発の補助処理方法、機器、記憶媒体及びプログラム製品」である中国特許出願の優先権を要求し、そのすべての内容は援用により本願に組み込まれる。
【0002】
本開示は、コンピュータ技術におけるソフトウェア開発、クラウドサーバ等の分野に関し、特にソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラム。
【背景技術】
【0003】
従来のコード走査、クラウドコンパイル等の検証機能を行うためのDevopsツールは多種多様であり、それぞれのプラットフォームに、開発されるコード工程に対する対応的な検証機能を実現する。Devopsツールを使用して対応的な検証機能を行う時、開発者が検証対象であるコード等を対応的なプラットフォームに提出し、対応的なプラットフォームにコード走査又はコンパイル等の検証操作を行う必要があり、ツールの入口が煩雑であり、インタラクションロジックが硬く、開発者が使用しにくく、それによってソフトウェア開発の効率が低い。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、ソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラムを提供している。
【0005】
本開示の第1の局面によれば、
ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別することと、
前記補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信することと、
前記補助開発機能の実行結果を取得することと、を含む、
ソフトウェア開発の補助処理方法を提供している。
【0006】
本開示の第2の局面によれば、
ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、前記補助操作指令情報とマッチしている補助開発機能を識別するための機能識別モジュールと、
前記補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、前記補助開発機能に対応するサービスプラットフォームに、前記補助開発機能に対応する操作を実行し且つ前記補助開発機能の実行結果をフィードバックするように前記サービスプラットフォームに指示するための操作要求を送信するための第一補助モジュールと、
前記補助開発機能の実行結果を取得するための実行結果処理モジュールと、を含む、
ソフトウェア開発の補助処理機器を提供している。
【0007】
本開示の第3の局面によれば、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続するメモリとを有する電子機器であって、
前記メモリに、前記少なくとも1つのプロセッサによって実行され得る指令が記憶されており、前記指令が前記少なくとも1つのプロセッサによって実行されることで、前記少なくとも1つのプロセッサが第1の局面に記載の方法を実行することができる、
電子機器を提供している。
【0008】
本開示の第4の局面によれば、コンピュータに第1の局面に記載の方法を実行させるためのコンピュータ指令を記憶している、非一時的なコンピュータ読取可能な記憶媒体を提供している。
【0009】
本開示の第5の局面によれば、コンピュータにより実行される場合に、第1の局面に記載の方法を実行するプログラムコードを含むコンピュータプログラムを提供している。
【0010】
本開示の技術によれば、ソフトウェア開発の効率を向上させた。
理解されるべきこととして、本部分に記載された内容は、本開示の実施例のキーポイント又は重要な特徴を示すことを意図するものではなく、本開示の範囲を限定するものでもない。本開示の他の特徴は、以下の説明により容易に理解される。
【0011】
図面は、本技術案をよりよく理解するために用いられ、本開示を限定するものではない。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本開示の実施例によるスマート開発助手の効果例示図である。
【
図2】
図2は、本開示の第一実施例が提供するソフトウェア開発の補助処理方法のフローチャートである。
【
図3】
図3は、本開示の第二実施例が提供するソフトウェア開発の補助処理方法のフローチャートである。
【
図4】
図4は、本開示の第二実施例が提供するコード走査機能の効果例示図である。
【
図5】
図5は、本開示の第二実施例が提供するコンパイル機能の効果例示図である。
【
図6】
図6は、本開示の第二実施例が提供するコーディング規範リアルタイム誤り訂正機能の効果例示図である。
【
図7】
図7は、本開示の第二実施例が提供するコーディング規範フォーマット機能の効果例示図である。
【
図8】
図8は、本開示の第三実施例が提供するソフトウェア開発の補助処理機器の模式図である。
【
図9】
図9は、本開示の第四実施例が提供するソフトウェア開発の補助処理機器の模式図である。
【
図10】
図10は、本開示の実施例のソフトウェア開発の補助処理方法を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本開示の例示的な実施例を説明する。ここで、より理解しやすいために本開示の実施例の様々な詳細が含まれ、それらが例示的なものであると考えられるべきである。したがって、当業者であれば、ここで記載される実施例に対して様々な変更・修正を行うことができ、本開示の範囲及び精神から逸脱することはないと分るべきである。同様に、明確かつ簡潔に説明するために、以下の記載において周知の機能や構成に対する説明を省略する。
【0014】
本開示は、ソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラムを提供し、コンピュータ技術におけるソフトウェア開発、クラウドサーバ等の分野に関し、ソフトウェア開発の効率を向上させる。
【0015】
本開示が提供したソフトウェア開発の補助処理方法は、具体的に、ソフトウェア開発を行う時にユーザ(例えば、開発者)が使用するローカル統合開発環境(Integrated Development Environment、IDEと略称する)、例えば、VS Code、IDEA、PyCharm 等に適用することができる。ローカル統合開発環境でソフトウェア開発の補助開発機能、例えば、コード走査、コンパイル、コーディング規範自動誤り訂正及びフォーマット等を提供することで、ソフトウェア開発の様々な補助開発機能をユーザのローカルプログラミング現場に付与して、開発プロセスデータのオンライン化及び能力前置を実現し、コード走査、コンパイル、コーディング規範自動誤り訂正、及びフォーマットなどのローカル検証能力を解決し、開発テストフロー全体を繋ぎ、かつユーザプログラミング現場と効果的に結合し、ユーザの開発効率を向上させる。
【0016】
例示的に、この方法はスマート開発助手等の方式で実現することができ、ローカル統合開発環境にスマート開発助手をインストールすることにより、ソフトウェア開発の補助処理を実現する。ローカル統合開発環境にスマート開発助手をインストールした後の開発インターフェースは、
図1に示すように、開発インターフェースにダイアログボックスを表示し、スマート開発助手がこのダイアログボックスを介してユーザとの対話式インタラクションを実現してよい。ユーザは、このダイアログボックスにスマート開発助手の名称又は別称(例えば、
図1に示す「ウォーロン」又は「virlon」)を入力して、スマート開発助手をウェイクアップすることができ、スマート開発助手がウェイクアップされた後に、答えを表示することができる(例えば、
図1に示す「私は、貴方の開発助手です。何かお手伝いすることがありますか?virlonに何をできますか?」)。ユーザは、さらに、ダイアログボックスに補助操作指令情報を入力することにより、スマート開発助手が対応的な補助操作を実行するようにトリガーすることができる。例えば、
図1に示すように、ユーザが「ヘルプ」という補助操作指令情報を入力することにより、スマート開発助手が提供可能な補助機能を検索する。スマート開発助手は、ダイアログボックスに「ヘルプ」に対する応答結果「virlonは、コード走査|コンパイル|コーディング規範リアルタイム誤り訂正を開く|コーディング規範フォーマット|ヘルプドキュメント|をお手伝いができます」を表示する。
【0017】
また、
図1においてダイアログボックスが開発インターフェースにおけるコード編集領域の下に表示されることを例として例示的に説明し、実際の応用では、ダイアログボックスが開発インタフェースの他の位置に表示されてもよく、ダイアログボックスの大きさ、位置、形状は実際の応用シーンの必要に応じて設定、調整することができ、ここで具体的な限定をしない。
【0018】
図2は、本開示の第一実施例が提供したソフトウェア開発の補助処理方法フローチャートである。本実施例が提供した方法は、具体的にソフトウェア開発の補助処理機器に適用され、本実施例において補助処理機器がスマート開発助手であることを例として、例示的に説明しており、他の実施例において、ソフトウェア開発の補助処理機器は、他の方式を採用して実現されてもよく、本実施例ではここで具体的な限定をしない。
【0019】
図2に示すように、この方法の具体的なステップは以下の通りである。
ステップS201において、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別する。
【0020】
本実施例において、ローカル統合開発環境に1つ又は複数の補助開発機能を統合し、開発インターフェースにおいて情報入力領域を提供し、ユーザが情報入力領域に入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別する。
【0021】
ここで、補助開発機能ごとに唯一の識別情報を有し、識別情報によって異なる補助開発機能を区別することができる。
【0022】
例えば、補助開発機能の名称、別称等を識別情報としてもよいし、補助開発機能の、ユーザに識別、記憶されやすい他の情報を識別情報としてもよく、具体的には、実際の応用シーンに応じて設置することができ、ここで具体的な限定をしない。
【0023】
選択的には、ユーザが入力した補助操作指令情報と補助開発機能の識別情報とがマッチしている場合、補助操作指令情報と補助開発機能とがマッチしていると確定する。
【0024】
ステップS202において、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すれば、補助開発機能に対応するサービスプラットフォームに操作要求を送信し、操作要求は、補助開発機能に対応する操作を実行し、且つ補助開発機能の実行結果をフィードバックするように、サービスプラットフォームに指示するためのものである。
【0025】
本実施例において、ローカル統合開発環境に統合された補助開発機能は、ローカルで実現されず、補助開発機能に対応するサービスプラットフォームで実現されてもよい。
【0026】
補助開発機能が対応的なサービスプラットフォームで実現されると、スマート開発助手は、対応的なサービスプラットフォームに、対応的な補助開発機能の操作要求を自動的に発し、ユーザの手動操作が必要としない。
【0027】
ここで、操作要求には、サービスプラットフォームが補助開発機能に対応する操作を実行するために必要なデータが含まれる。
【0028】
補助開発機能に対応するサービスプラットフォームは、操作要求を受信した後に、補助開発機能に対応する操作を実行し、補助開発機能の実行結果を取得し、補助開発機能の実行結果をスマート開発助手にフィードバックする。
【0029】
ステップS203において、補助開発機能の実行結果を取得する。
スマート開発助手は、補助開発機能に対応するサービスプラットフォームがフィードバックした補助開発機能の実行結果を取得する。
【0030】
本実施例において、ローカル統合開発環境に1つ又は複数の補助開発機能を統合し、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別し、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、補助開発機能に対応するサービスプラットフォームに操作要求を自動的に送信し、それによりサービスプラットフォームが操作要求に応じて補助開発機能に対応する操作を実行し、補助開発機能の実行結果をフィードバックすることで、補助開発機能の実行結果を取得し、ソフトウェア開発の補助開発機能をユーザのローカルプログラミング現場に付与することを実現し、ユーザプログラミング現場と効果的に結合して、人工操作を必要とせず、ユーザの開発効率を向上させた。
【0031】
図3は、本開示の第二実施例が提供したソフトウェア開発の補助処理方法のフローチャートである。上述した第一実施例を基に、本実施例において、このソフトウェア開発の補助処理方法がスマート開発助手の方式で実現されることを例として、ソフトウェア開発の補助処理のフローを例示的に説明する。
【0032】
本実施例において、ローカル統合開発環境でユーザが入力した補助操作指令情報に応じて、識別補助操作指令情報とマッチしている補助開発機能を識別した後に、補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で補助開発機能に対応する操作を実行し、補助開発機能の実行結果を取得することをさらに含む。
【0033】
図3に示すように、この方法の具体的なステップは以下の通りである。
ステップS301において、ローカル統合開発環境の開発インターフェースにダイアログボックスを表示する。
【0034】
ローカル統合開発環境に1つ又は複数の補助開発機能を統合し、開発インターフェースで情報入力領域を提供し、ユーザが情報入力領域に入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別する。
【0035】
本実施例において、情報入力領域がダイアログボックスであってよく、ローカル統合開発環境に補助開発機能を統合した後に、ローカル統合開発環境の開発インターフェースにダイアログボックスを表示する。対話のようなインタラクション方式によってユーザとスマート開発助手との可視化インタラクションを実現し、各補助開発機能の操作結果を直観的に呈し、スマート開発助手のインタラクションのフレンドリー性を向上させる。
【0036】
選択的には、スマート開発助手は、プラグインの方式で実現されてよく、ローカル統合開発環境で、ソフトウェア開発の補助処理を実現するためのスマート開発助手プラグインをインストールする。
【0037】
スマート開発助手プラグインのインストールが成功した後に、ローカル統合開発環境の開発インターフェースにダイアログボックスを表示する。このように、スマート開発助手をプラグインの方式でローカル統合開発環境に付与することで、各種のソフトウェア開発の補助開発機能をローカルプログラミングスレッドと効果的に結合し、スマート開発助手の使い勝手を向上させることができる。
【0038】
ステップS302において、ユーザがダイアログボックスに入力した補助操作指令情報を取得する。
【0039】
ユーザは、開発インターフェースに表示されているダイアログボックスに補助操作指令情報を入力することができる。
【0040】
スマート開発助手は、ユーザがダイアログボックスに入力した補助操作指令情報を取得することができる。
【0041】
上記ステップS301~S302によって、対話のようなインタラクション方式でユーザとスマート開発助手との可視化インタラクションを実現し、各補助開発機能の操作結果を直観的に呈し、スマート開発助手のインタラクションのフレンドリー性を向上させる。
【0042】
ステップS303において、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別する。
【0043】
ここで、補助開発機能ごとに唯一の識別情報を有し、識別情報によって異なる補助開発機能を区別することができる。
【0044】
例えば、補助開発機能の名称、別称、指令等を識別情報としてもよいし、補助開発機能の、ユーザに識別、記憶されやすい他の情報を識別情報としてもよく、具体的には、実際の応用シーンに応じて設置することができ、ここで具体的な限定をしない。
【0045】
選択的には、ユーザが入力した補助操作指令情報と補助開発機能の識別情報とがマッチしている場合、補助操作指令情報と補助開発機能とがマッチしていると確定する。
【0046】
例えば、コード走査機能は、増分走査機能と全量走査機能とを含み、増分走査機能を例として、識別情報は、「増分走査」という機能の名称を含んでよく、
図4に示すように、ユーザが入力した補助操作指令情報が「増分走査を行いたい」である場合、スマート開発助手は、入力された補助操作指令情報に「増分走査」という増分走査機能の名称が含まれることを識別することができ、それにより補助操作指令情報とマッチしている補助開発機能が増分走査機能であると確定することができる。
【0047】
例示的に、ユーザが入力した補助操作指令情報は、記述言語(
図4、
図6、
図7に示すように)、指令(
図5に示すように)、又は、オプションをクリックすることで提出した情報であってよい。
【0048】
選択的には、ユーザが入力した補助操作指令情報に対して自然言語処理を行い、補助操作指令情報とマッチしている補助開発機能を特定してよく、これにより、補助操作指令情報とマッチしている補助開発機能を正確に識別して、スマート開発助手の正確性及び使い勝手を向上させることができる。
【0049】
選択的には、補助操作指令情報とマッチしている補助開発機能を特定できない場合、エラー提示情報を表示する。エラー提示情報は、ユーザが入力した補助操作指令情報が不正確であり、マッチする補助開発機能を識別できないことを提示するためのものであって、これにより、ユーザに再入力させて、スマート開発助手のフレンドリー性及び使い勝手を向上させる。
【0050】
例えば、ダイアログボックスで対話の形でユーザに「意味が分りません」というエラー提示情報を通知することができる。
【0051】
ステップS304において、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、補助開発機能に対応するサービスプラットフォームに操作要求を送信し、操作要求は、補助開発機能に対応する操作を実行し、且つ補助開発機能の実行結果をフィードバックするように、サービスプラットフォームに指示するためのものである。
【0052】
本実施例において、ローカル統合開発環境に、対応的なサービスプラットフォームによって実現される補助開発機能を統合してよい。
【0053】
ここで、対応的なサービスプラットフォームによって実現される補助開発機能は、コード走査、コンパイルを含むが、これらに限られない。ここで、コード走査は、増分走査と全量走査とを含んでよく、増分走査と全量走査とは、それぞれ独立した補助開発機能としてよい。
【0054】
補助操作指令情報とマッチしている補助開発機能を特定した後、補助開発機能が対応的なサービスプラットフォームによって実現される場合、スマート開発助手は、対応的なサービスプラットフォームに、対応的な補助開発機能の操作要求を自動的に発し、ユーザの手動操作を必要としない。
【0055】
ここで、操作要求は、サービスプラットフォームが補助開発機能に対応する操作を実行するために必要なデータを含む。
【0056】
補助開発機能に対応するサービスプラットフォームは、操作要求を受信した後に、補助開発機能に対応する操作を実行し、補助開発機能の実行結果を取得し、補助開発機能の実行結果をスマート開発助手にフィードバックする。
【0057】
選択的には、補助開発機能に対応するサービスプラットフォームに操作要求を送信した後、補助開発機能の実行結果を取得する前に、ダイアログボックスに補助開発機能の実行中に関する提示情報を表示することで、ユーザに補助開発機能の進展を展示し、スマート開発助手のフレンドリー性及び使い勝手を向上させるようにしてもよい。
【0058】
ステップS305において、補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で補助開発機能に対応する操作を実行し、補助開発機能の実行結果を取得する。
【0059】
本実施例において、ローカル統合開発環境には、直接にローカルで実現される補助開発機能を統合してよい。
【0060】
ここで、直接にローカルで実現される補助開発機能は、コーディング規範リアルタイム誤り訂正、コーディング規範フォーマットを含むが、これらに限られない。
【0061】
補助操作指令情報とマッチしている補助開発機能を特定した後に、補助開発機能がローカル統合開発環境で実現されると確定すると、スマート開発助手が直接にローカル統合開発環境で補助開発機能に対応する操作を実行して、補助開発機能の実行結果を取得する。
【0062】
選択的には、ローカル統合開発環境で補助開発機能に対応する操作を実行した後、補助開発機能の実行結果を取得する前に、ダイアログボックスに補助開発機能の実行中に関する提示情報を表示することで、ユーザに補助開発機能の進展を展示し、スマート開発助手のフレンドリー性及び使い勝手を向上させるようにしてもよい。
【0063】
ステップS306において、補助開発機能の実行結果を取得する。
ローカル統合開発環境には、コード走査、コンパイル等の対応的なサービスプラットフォームによって実現される補助開発機能を統合してもよく、コーディング規範リアルタイム誤り訂正、コーディング規範フォーマット等の直接にローカルで実現される補助開発機能を統合してもよい。ローカルで実現されるか又は対応的なサービスプラットフォームで実現されるかにかかわらず、スマート開発助手は、補助開発機能の実行結果を取得することができる。
【0064】
補助開発機能が対応的なサービスプラットフォームによって実現される場合、スマート開発助手は、対応的なサービスプラットフォームがフィードバックした補助開発機能の実行結果を取得する。
【0065】
補助開発機能がローカル統合開発環境で実現される場合、スマート開発助手は、補助開発機能に対応する操作を実行した後に、補助開発機能の実行結果を取得することができる。
【0066】
ステップS307において、実行結果を表示する。
本実施例において、ダイアログボックスで、対話インタラクションの方式で実行結果を表示してよい。
【0067】
補助開発機能の実行結果を取得した後に、スマート開発助手は、ダイアログボックスで、対話インタラクションの方式で実行結果を表示してよく、ユーザに補助開発機能の実行結果を直観的に展示することができる。
【0068】
ローカル統合開発環境には、コード走査、コンパイル等の対応的なサービスプラットフォームによって実現される補助開発機能を統合してもよく、コーディング規範リアルタイム誤り訂正、コーディング規範フォーマット等の直接にローカルで実現される補助開発機能を統合してもよく、それによりソフトウェア開発の各種の補助開発機能をユーザのローカルプログラミング現場に付与して、開発プロセスデータのオンライン化及び能力前置を実現し、コード走査、コンパイル、コーディング規範自動誤り訂正、及びフォーマット等のローカル検証能力を解決し、開発テストフロー全体を繋ぎ、ユーザプログラミング現場と効果的に結合して、ユーザの開発効率を向上させた。
【0069】
選択可能な実施形態において、補助開発機能がコード走査である場合、現在のワークエリア内のファイルを取得し、処理対象である開発ファイルを取得して、コード走査プラットフォームにコード走査要求を送信し、コード走査要求には処理対象である開発ファイルが含まれ、コード走査要求は、開発ファイルに対してコード走査を行ってコード走査結果を返送するように、コード走査プラットフォームに指示するためのものである。
【0070】
スマート開発助手によって現在のワークエリア内のファイルを自動的にパケット化して、走査対象であるファイルとし、コード走査プラットフォームに操作要求を送信する時に、走査対象であるファイルを一緒にコード走査プラットフォームに送信することで、ユーザが手動でコード走査プラットフォームにコードをアップロードして走査操作をトリガーする必要がなくなり、ユーザの操作フローを簡素化し、ユーザのソフトウェア開発の効率を向上させる。
【0071】
ここで、コード走査機能は、ファイルにおけるコーディング規範問題、欠陥問題、セキュリティホール等を走査することを実現可能である。
【0072】
さらに、補助開発機能の実行結果を取得することは、開発ファイルに対するコード走査結果を取得することを含む。
【0073】
選択的には、コード走査結果は、欠陥報告を含んでよい。開発ファイルに対するコード走査結果を取得した後に、スマート開発助手は、さらに、欠陥報告を解析し、開発ファイルにおける欠陥の位置を特定して、開発ファイルにおける欠陥の位置に応じて、開発ファイルにおける欠陥のあるコード行をマーキングしてもよい。
【0074】
このように、プログラミング現場でコードにおける欠陥を直観的にマーキングすることができ、ユーザが欠陥報告を対照して自ら開発ファイルにおいて欠陥のあるコードの位置を検索する必要がなく、ユーザが欠陥位置を特定しやすくなり、ユーザによる欠陥の早期発見及び解決を促し、ソフトウェア開発の効率を向上させる。
【0075】
選択的には、マーキングされたコード行が選択された時に、マーキングされたコード行に対応する欠陥情報(
図4に示すように)を表示することで、ユーザが詳細な欠陥情報をチェックしやすくなるとともに、ユーザによるコードの編集操作に影響を及ぼさず、ユーザの操作を容易にして、ソフトウェア開発の効率を向上させることに有利である。
【0076】
例えば、開発ファイルには、下波線、赤下波線、背景色等の方式で、欠陥のあるコード行をマーキングしてよい。ユーザがマウスのカーソルをマーキングされたコード行に移動する時に、マーキングされたコード行に対応する欠陥情報が表示される。
【0077】
なお、開発ファイルにおける欠陥のあるコード行をマーキングする方式は、実際の応用シーンの必要に応じて設置及び調整されてよく、異なるタイプの欠陥は異なる方式でマーキングされてよく、本実施例では、ここで具体的な限定をしない。
【0078】
選択的には、欠陥報告のリンク情報(
図4に示すように)を表示してもよく、欠陥報告のリンク情報がトリガーされた時に、欠陥報告を表示及び/又はダウンロードすることで、ユーザが欠陥報告をチェックしてダウンロードしやすくなる。
【0079】
選択可能な実施形態において、補助開発機能がコンパイルである場合、コンパイルプラットフォームにコンパイル要求を送信し、コンパイル要求にはコンパイル対象であるコード情報が含まれ、コンパイル要求は、コンパイル対象であるコードをコンパイルして、コンパイル結果ファイルを得るように、コンパイルプラットフォームに指示するためのものである。
【0080】
スマート開発助手がコンパイルプラットフォームにコンパイル要求を自動的に送信することで、ユーザが手動でコンパイルプラットフォームを開いてコンパイル操作をトリガーする必要がなく、ユーザの操作フローを簡素化して、ユーザのソフトウェア開発の効率を向上させる。
【0081】
さらに、補助開発機能の実行結果を取得することは、
コンパイル結果ファイルをローカル統合開発環境に自動的に引き取ることを含む。
【0082】
選択的には、コンパイル要求は、さらに、コンパイルログを記録するように、コンパイルプラットフォームに指示するために用いられる。コンパイルプラットフォームにコンパイル要求を送信した後に、スマート開発助手は、コンパイルログのリンク情報を表示してもよく、コンパイルログのリンク情報がトリガーされた時に、コンパイルログを表示及び/又はダウンロードすることで、ユーザがコンパイルログをチェック及びダウンロードしやすくなる。
【0083】
例示的に、コンパイルの実行結果は、コンパイルタスクの実行が成功したか否か、及びコンパイルタスクの関連情報を含んでよい。
図5に示すように、コンパイルの実行結果は、ダイアログボックスで対話の方式で表示されてよい。
【0084】
選択可能な実施形態において、補助開発機能がコーディング規範リアルタイム誤り訂正である場合、現在のファイルにおけるコーディング規範問題をリアルタイムに検査し、現在のファイルにコーディング規範問題が所在する位置及び問題説明情報を表示する。
【0085】
このようにして、プログラミング現場でコードにおけるコーディング規範問題を直観的に表示することができ、ユーザが自ら開発ファイル規範問題を検査する必要がなく、ユーザがコーディング規範問題の位置を特定しやすくなり、ユーザによるファイルにおけるコーディング規範問題の早期発見及び更正を促し、コードの規範性及びソフトウェア開発の効率を向上させる。
【0086】
選択的には、現在のファイルにおいて、コーディング規範問題が所在する位置及び問題説明情報を表示することは、以下のことを含む。
【0087】
現在のファイルにおいて、コーディング規範問題のあるコード行をマーキングし、マーキングされたコード行が選択された時に、マーキングされたコード行に対応するコーディング規範問題の問題説明情報(
図6に示すように)を表示することで、ユーザが詳細なコーディング規範問題の問題説明情報をチャックしやすくなるとともに、ユーザによるコードの編集操作に影響を及ぼさず、ユーザ操作を容易にして、ソフトウェア開発の効率を向上させることに有利である。
【0088】
例えば、開発ファイルには、下波線、赤下波線、背景色を増やす等の方式でコーディング規範問題のあるコード行をマーキングしてよい。ユーザがマウスのカーソルをマーキングされたコード行に移動する時、マーキングされたコード行に対応するコーディング規範問題の問題説明情報が表示される。
【0089】
なお、開発ファイルにおけるコーディング規範問題のあるコード行をマーキングする方式は、実際の応用シーンの必要に応じて設置及び調整されてよく、本実施例では、ここで具体的な限定をしない。
【0090】
本実施例において、コーディング規範リアルタイム誤り訂正機能をオンにしてもよいし、オフにしてもよい。コーディング規範リアルタイム誤り訂正機能をオンにした後に、スマート開発助手は、現在のファイルに対してコーディング規範リアルタイム誤り訂正の処理をリアルタイムに行う。コーディング規範リアルタイム誤り訂正機能をオフにした後に、スマート開発助手はコーディング規範リアルタイム誤り訂正の処理を行わなくなる。
【0091】
選択可能な実施形態において、補助開発機能がコーディング規範フォーマットである場合、現在のファイルにおけるコーディング規範問題に対して修正処理を行う。
【0092】
このように、スマート開発助手は、現在のファイルにおけるコーディング規範問題に対して修正処理を自動的に行うことでき、ユーザが手動で逐一に修改する必要がなくなり、ソフトウェア開発の効率を大幅に向上させる。
【0093】
選択的には、現在のファイルにおけるコーディング規範問題を修正した後に、
現在のファイルに対するフォーマット取消操作に応じて、現在のファイルを修正処理前のものに回復することをさらに含む。
【0094】
選択的には、現在のファイルにおけるコーディング規範問題を修正した後に、自動的に修正できなかったコーディング規範問題が存在すれば、修正できなかったコーディング規範問題が存在することを提示するための提示情報を表示してよい(例えば、
図7に示す「また規範問題がありますか?」という提示情報)。さらに、修正できなかったコーディング規範問題をチェックする要求に応じて、修正できなかったコーディング規範問題を表示して、ユーザによるチェック及び手動修正に用いられる。
【0095】
選択的には、コーディング規範フォーマットの機能は、コーディング規範リアルタイム誤り訂正を行った後に、コーディング規範リアルタイム誤り訂正の実行結果のうち、現在のファイルにおけるコーディング規範問題に基づいて、現在のファイルにおけるコーディング規範問題に対して修正処理を行う。
【0096】
なお、コーディング規範フォーマットの機能は、個別に実行されてもよく、コーディング規範フォーマットを行うプロセスは、現在のファイルにおけるコーディング規範問題を検査し、現在のファイルにおけるコーディング規範問題に対して修正処理を行うことを含む。
【0097】
選択的には、スマート開発助手プラグインは、上記すべての補助開発機能を実現可能であり、即ち、すべての補助開発機能が1つのプラグインに統合されてもよく、ローカル統合開発環境にこのプラグインをインストールすることで、すべての補助開発機能がローカル統合開発環境中で実現される。
【0098】
選択的には、いずれの補助開発機能も個別のプラグインとして実現されてもよく、例えば、コーディング規範リアルタイム誤り訂正機能は、個別のコーディング規範検査プラグインで実現され、コーディング規範リアルタイム誤り訂正をオンにする必要がある場合、ローカル統合開発環境にコーディング規範検査プラグインをインストールする必要があり、コーディング規範検査プラグインのインストールが成功した後に、ローカル統合開発環境を再起動することで、コーディング規範リアルタイム誤り訂正機能をオンにすることができる。
図6にはコーディング規範検査プラグインをインストールする例示を示している。
【0099】
ローカル統合開発環境には、コード走査、コンパイル等の対応的なサービスプラットフォームによって実現される補助開発機能を統合してもよいし、コーディング規範リアルタイム誤り訂正、コーディング規範フォーマット等の直接にローカルで実現される補助開発機能を統合してもよく、それによりソフトウェア開発の各種の補助開発機能をユーザのローカルプログラミング現場に付与して、開発プロセスデータのオンライン化及び能力前置を実現し、コード走査、コンパイル、コーディング規範自動誤り訂正、及びフォーマット等のローカル検証能力を解決し、開発テストフロー全体を繋ぎ、ユーザプログラミング現場と効果的に結合して、ユーザの開発効率を向上させた。
【0100】
本開示の実施例では、エンジニアのプログラミング現場で、各種の補助開発機能をローカルIDEに付与して、対話式のようなインタラクションによって、コード走査、コンパイル、コーディング規範リアルタイム誤り訂正、及びフォーマット等の通常開発操作を行って、インタラクション方式がよりスムーズになり、それぞれの操作結果を直観的に呈することができる。開発テスト能力を左へ移動し、ローカル検証能力を補充し、開発テストフロー全体を繋ぎ、閉ループを形成し、各種のDevops開発ツールの入口を統一して、各種のツールの入口煩雑、切り替え煩雑、使用効率低下等の問題を解決し、かつエンジニアのプログラミング現場と効果的に結合して、開発効率を向上させる。
【0101】
図8は、本開示の第三実施例が提供したソフトウェア開発の補助処理機器の模式図である。本開示の実施例が提供したソフトウェア開発の補助処理機器は、ソフトウェア開発の補助処理方法の実施例が提供した処理フローを実行することができる。
図8に示すように、このソフトウェア開発の補助処理機器80は、機能識別モジュール801と、第一補助モジュール802と、実行結果処理モジュール803とを含む。
【0102】
具体的に、機能識別モジュール801は、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別するために用いられる。
【0103】
第一補助モジュール802は、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、補助開発機能に対応するサービスプラットフォームに操作要求を送信するために用いられ、操作要求は、補助開発機能に対応する操作を実行し、且つ補助開発機能の実行結果をフィードバックするように、サービスプラットフォームに指示するためのものである。
【0104】
実行結果処理モジュール803は、補助開発機能の実行結果を取得するために用いられる。
【0105】
本開示の実施例が提供した機器は、具体的に、上記第一実施例が提供した方法実施例を実行するために用いられ、具体的な機能についてここで説明を繰り返さない。
【0106】
本実施例において、ローカル統合開発環境に1つ又は複数の補助開発機能を統合し、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別し、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、補助開発機能に対応するサービスプラットフォームに操作要求を自動的に送信し、それによりサービスプラットフォームが操作要求に応じて補助開発機能に対応する操作を実行し、補助開発機能の実行結果をフィードバックすることで、補助開発機能の実行結果を取得し、ソフトウェア開発の補助開発機能をユーザのローカルプログラミング現場に付与することを実現し、ユーザプログラミング現場と効果的に結合して、人工操作を必要とせず、ユーザの開発効率を向上させた。
【0107】
図9は、本開示の第四実施例が提供したソフトウェア開発の補助処理機器の模式図である。本開示の実施例が提供したソフトウェア開発の補助処理は、ソフトウェア開発の補助処理方法の実施例が提供した処理フローを実行することができる。
図9に示すように、このソフトウェア開発の補助処理機器90は、機能識別モジュール901と、第一補助モジュール902と、実行結果処理モジュール903とを含む。
【0108】
具体的に、機能識別モジュール901は、ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別するために用いられる。
【0109】
第一補助モジュール902は、補助開発機能が対応的なサービスプラットフォームによって実現されると確定すると、補助開発機能に対応するサービスプラットフォームに操作要求を送信するために用いられ、操作要求は、補助開発機能に対応する操作を実行し、且つ補助開発機能の実行結果をフィードバックするように、サービスプラットフォームに指示するためのものである。
【0110】
実行結果処理モジュール903は、補助開発機能の実行結果を取得するために用いられる。
【0111】
選択可能な実施形態において、
図9に示すように、第一補助モジュール902は、
補助開発機能がコード走査である場合、現在のワークエリア内のファイルを取得して、処理対象である開発ファイルを得て、コード走査プラットフォームに、処理対象である開発ファイルが含まれ、開発ファイルに対してコード走査を行ってコード走査結果を返送するように、コード走査プラットフォームに指示するためのコード走査要求を送信するコード走査サブモジュール9021を含む。
【0112】
実行結果処理モジュール903は、
開発ファイルに対するコード走査結果を取得するためのコード走査結果処理サブモジュール9031を含む。
【0113】
選択可能な実施形態において、コード走査結果は、欠陥報告を含み、コード走査結果処理サブモジュールは、さらに、
開発ファイルに対するコード走査結果を取得した後に、欠陥報告を解析し、開発ファイルにおける欠陥の位置を特定して、開発ファイルにおける欠陥の位置に応じて、開発ファイルにおける欠陥のあるコード行をマーキングする。
【0114】
選択可能な実施形態において、コード走査結果処理サブモジュールは、さらに、
開発ファイルにおける欠陥の位置に応じて、開発ファイルにおける欠陥のあるコード行をマーキングした後に、マーキングされたコード行が選択された時に、マーキングされたコード行に対応する欠陥情報を表示する。
【0115】
選択可能な実施形態において、コード走査結果処理サブモジュールは、さらに、
開発ファイルに対するコード走査結果を取得した後に、欠陥報告のリンク情報を表示し、欠陥報告のリンク情報がトリガーされた時に、欠陥報告を表示及び/又はダウンロードする。
【0116】
選択可能な実施形態において、
図9に示すように、第一補助モジュール902は、
補助開発機能がコンパイルである場合、コンパイルプラットフォームに、コンパイル対象であるコードの情報が含まれ、コンパイル対象であるコードをコンパイルして、コンパイル結果ファイルを得るように、コンパイルプラットフォームに指示するためのコンパイル要求を送信するコンパイルモジュール9022を含む。
【0117】
実行結果処理モジュール903は、
コンパイル結果ファイルをローカル統合開発環境に自動的に引き取るためのコンパイル結果処理サブモジュール9032を含む。
【0118】
選択可能な実施形態において、コンパイル要求は、さらに、コンパイルログを記録するように、コンパイルプラットフォームに指示するために用いられる。
【0119】
コンパイル結果処理サブモジュールは、さらに、
コンパイルプラットフォームにコンパイル要求を送信した後に、コンパイルログのリンク情報を表示し、コンパイルログのリンク情報がトリガーされた時に、コンパイルログを表示及び/又はダウンロードするために用いられる。
【0120】
選択可能な実施形態において、
図9に示すように、ソフトウェア開発の補助処理機器90は、
補助開発機能がローカル統合開発環境で実現されると確定すると、ローカル統合開発環境で補助開発機能に対応する操作を実行し、補助開発機能の実行結果を取得するための第二補助モジュール904を含む。
【0121】
選択可能な実施形態において、
図9に示すように、第二補助モジュール904は、
補助開発機能がコーディング規範リアルタイム誤り訂正である場合、現在のファイルにおけるコーディング規範問題をリアルタイムに検査するためのコーディング規範リアルタイム誤り訂正サブモジュール9041を含む。
【0122】
実行結果処理モジュール903は、
現在のファイルにおいて、コーディング規範問題が所在する位置及び問題説明情報を表示するためのコーディング規範リアルタイム誤り訂正結果処理サブモジュール9033を含む。
【0123】
選択可能な実施形態において、コーディング規範リアルタイム誤り訂正結果処理サブモジュールは、さらに、
現在のファイルにおいて、コーディング規範問題のあるコード行をマーキングし、マーキングされたコード行が選択された時に、マーキングされたコード行に対応するコーディング規範問題の問題説明情報を表示するために用いられる。
【0124】
選択可能な実施形態において、
図9に示すように、第二補助モジュール904は、さらに、
補助開発機能がコーディング規範フォーマットである場合、現在のファイルにおけるコーディング規範問題に対して修正処理を行うためのコーディング規範フォーマットサブモジュール9042を含む。
【0125】
選択可能な実施形態において、コーディング規範フォーマットサブモジュールは、さらに、
現在のファイルに対するフォーマット取消操作に応じて、現在のファイルを修正処理前のものに回復するために用いられる。
【0126】
選択可能な実施形態において、機能識別モジュールは、さらに、
ユーザが入力した補助操作指令情報に対して自然言語処理を行い、補助操作指令情報とマッチしている補助開発機能を特定するために用いられる。
【0127】
選択可能な実施形態において、機能識別モジュールは、さらに、
補助操作指令情報とマッチしている補助開発機能を特定できない場合、エラー提示情報を表示するために用いられる。
【0128】
選択可能な実施形態において、
図9に示すように、このソフトウェア開発の補助処理機器90は、さらに、
ローカル統合開発環境で、ユーザが入力した補助操作指令情報に応じて、補助操作指令情報とマッチしている補助開発機能を識別する前に、ローカル統合開発環境の開発インターフェースにダイアログボックスを表示し、ユーザがダイアログボックスに入力した補助操作指令情報を取得するための情報入力モジュール905を含む、
選択可能な実施形態において、実行結果処理モジュールは、さらに、
ダイアログボックスに、対話インタラクションの方式で実行結果を表示するために用いられる。
【0129】
選択可能な実施形態において、実行結果処理モジュールは、さらに、
ダイアログボックスに補助開発機能の実行中に関する提示情報を表示するために用いられる。
【0130】
本開示の実施例が提供した機器は、具体的に、上記第二実施例が提供した方法実施例を実行するために用いられ、具体的な機能について、ここで説明を繰り返さない。
【0131】
ローカル統合開発環境には、コード走査、コンパイル等の対応するサービスプラットフォームによって実現される補助開発機能を統合してもよいし、コーディング規範リアルタイム誤り訂正、コーディング規範フォーマット等の直接にローカルで実現される補助開発機能を統合してもよく、それによりソフトウェア開発の各種の補助開発機能をユーザのローカルプログラミング現場に付与して、開発プロセスデータのオンライン化及び能力前置を実現し、コード走査、コンパイル、コーディング規範自動誤り訂正、及びフォーマット等のローカル検証能力を解決し、開発テストフロー全体を繋ぎ、ユーザプログラミング現場と効果的に結合して、ユーザの開発効率を向上させた。
【0132】
本開示の実施例では、エンジニアのプログラミング現場で、各種の補助開発機能をローカルIDEに付与して、対話式のようなインタラクションによって、コード走査、コンパイル、コーディング規範リアルタイム誤り訂正、及びフォーマット等の通常開発操作を行って、インタラクション方式がよりスムーズになり、それぞれの操作結果を直観的に呈することができる。開発テスト能力を左へ移動し、ローカル検証能力を補充し、開発テストフロー全体を繋ぎ、閉ループを形成し、各種のDevops開発ツールの入口を統一して、各種のツールの入口煩雑、切り替え煩雑、使用効率低下等の問題を解決し、かつエンジニアのプログラミング現場と効果的に結合して、開発効率を向上させる。
【0133】
本開示の技術案では、係られたユーザ個人情報の収集、記憶、使用、加工、伝送、供給、開示および応用などの処理は、いずれも関連法律や法規の規定に合致しており、必要な守秘義務措置を行い、公序良俗に反していない。
【0134】
本開示の技術案では、ユーザの個人情報を取得または採集する前に、ユーザの許可または同意を取得した。
【0135】
本開示の実施例によれば、本開示は、電子機器及び読取可能な記憶媒体をさらに提供している。
【0136】
本開示の実施例によれば、本開示は、コンピュータプログラムをさらに提供しており、コンピュータプログラムは、読取可能な記憶媒体に記憶されており、電子機器の少なくとも1つのプロセッサは、読取可能な記憶媒体からコンピュータプログラムを読み出すことができ、電子機器が上記いずれかの実施例が提供した技術案を実行するように、少なくとも1つのプロセッサがコンピュータプログラムを実行する。
【0137】
図10は、本開示の実施例を実施することが可能な例示的電子機器1000の模式的ブロック図を示している。電子機器は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ及び他の適切なコンピュータという様々な形式のデジタルコンピュータを示すことを目的としている。電子機器は、例えば、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブル機器及び他の類似の演算装置という様々な形式の移動装置を示してもよい。本明細書に示された部材、それらの接続及び関係、並びにそれらの機能は、例示に過ぎず、本明細書に記載された及び/又は要求された本開示の実現を限定しない。
【0138】
図10に示すように、電子機器1000は、計算手段1001を含み、計算手段1001は、リードオンリーメモリ(ROM)1002に記憶されたコンピュータプログラム又は記憶手段1008からランダムアクセスメモリ(RAM)1003にロードされたコンピュータプログラムに基づいて、様々な適切な動作及び処理を実行してもよい。RAM1003には、さらに機器1000の操作に必要な様々なプログラム及びデータを記憶してもよい。計算手段1001、ROM1002、及びRAM1003は、バス1004を介して相互に接続される。入出力(I/O)インターフェース1005も、バス1004に接続される。
【0139】
機器1000における複数の部品は、I/Oインターフェース1005に接続され、例えばキーボード、マウス等の入力手段1006と、例えば様々な種類のディスプレイ、スピーカ等の出力手段1007と、例えば磁気ディスク、光ディスク等の記憶手段1008と、例えばネットワークカード、モデム、無線通信トランシーバ等の通信手段1009とを含む。通信手段1009は、機器1000がインターネット等のコンピュータネットワーク及び/又は各種の電気ネットワークを介して他の機器と情報・データをやり取りすることを可能にする。
【0140】
計算手段1001は、処理及び演算能力を有する各種の汎用及び/又は専用の処理モジュールであってもよい。計算手段1001の幾つかの例として、中央処理ユニット(CPU)、GPU(Graphics Processing Unit)、各種専用の人工知能(AI)演算チップ、各種機械学習モデルアルゴリズムをランニングする演算ユニット、DSP(Digital Signal Processor)、並びに任意の適切なプロセッサ、コントローラ、マイクロコントローラ等が挙げられるが、これらに限定されない。計算手段1001は、前文で説明した各方法と処理、例えば、ソフトウェア開発の補助処理方法を実行する。例えば、幾つかの実施例において、ソフトウェア開発の補助処理方法は、例えば記憶手段1008のような機械可読媒体に有形的に含まれるコンピュータソフトウェアプログラムとして実現されてもよい。いくつかの実施例において、コンピュータプログラムの一部又は全部は、ROM 1002及び/又は通信手段1009を介して機器1000にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM1003にロードされて計算手段1001により実行される場合、前文で説明したソフトウェア開発の補助処理方法の1つ又は複数のステップを実行してもよい。代替的に、他の実施例において、計算手段1001は、他の任意の適切な方式(例えば、ファームウェアを介する)によりソフトウェア開発の補助処理方法を実行するように構成されてもよい。
【0141】
本明細書で以上に説明されたシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラムマブルロジックデバイス (CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムにおいて実施され、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラムマブルプロセッサを含むプログラムマブルシステムで実行され及び/又は解釈されることが可能であり、該プログラムマブルプロセッサは、専用又は汎用のプログラムマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、かつデータ及び命令を該記憶システム、該少なくとも1つの入力装置、及び該少なくとも1つの出力装置に伝送することができることを含んでもよい。
【0142】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせで作成されてもよい。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供されてもよく、それによって、プログラムコードがプロセッサ又はコントローラにより実行される時に、フローチャート及び/又はブロック図に規定された機能・操作が実施される。プログラムコードは、機器に完全に実行されてもよく、部分的に機器で実行されてもよく、独立したソフトウェアパッケージとして部分的に機器で実行され、かつ部分的に遠隔機器で実行されるか又は完全に遠隔機器又はサーバで実行されてもよい。
【0143】
本開示のコンテキストにおいて、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置又は電子機器に使用され、又は命令実行システム、装置又は電子機器と組み合わせて使用されるプログラムを含んで又は記憶してもよい。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒体は、電子の、磁気的、光学的、電磁的、赤外線の、又は半導体システム、装置又は電子機器、又は上記内容の任意の適切な組み合わせを含んでもよいが、それらに限定されない。機械可読記憶媒体のより具体的な例としては、1つ以上の線による電気的接続、携帯式コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は上記内容の任意の適切な組み合わせを含む。
【0144】
ユーザとの対話を提供するために、コンピュータにここで説明されたシステム及び技術を実施させてもよく、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを備え、ユーザは、該キーボード及び該ポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類の装置は、さらにユーザとの対話を提供してもよく、例えば、ユーザに提供されたフィードバックは、いかなる形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、かついかなる形式(音声入力、語音入力又は、触覚入力を含む)でユーザからの入力を受信してもよい。
【0145】
ここで説明されたシステム及び技術は、バックグラウンド部品を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア部品を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド部品を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザが該グラフィカルユーザインタフェース又は該ネットワークブラウザを介してここで説明されたシステム及び技術の実施形態と対話することができる)、又はこのようなバックグラウンド部品、ミドルウェア部品、又はフロントエンド部品のいずれかの組み合わせを含むコンピューティングシステムに実施されることが可能である。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によりシステムの部品を互いに接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及びインターネットを例示的に含む。
【0146】
コンピュータシステムは、クライアント及びサーバを含んでもよい。クライアントとサーバ同士は、一般的に離れており、通常、通信ネットワークを介して対話する。クライアントとサーバとの関係は、該当するコンピュータ上でランニングし、クライアント-サーバの関係を有するコンピュータプログラムによって生成される。サーバは、クラウドサーバであってもよく、クラウドサーバは、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムのうちの1つのホスト製品であり、従来の物理ホストとVPSサービス(「Virtual Private Server」、又は「VPS」と略称する)に存在する管理難度が大きく、サービス拡張性が弱いという欠陥を解決する。サーバは、分散型システムのサーバであってもよく、又はブロックチェーンを組合せたサーバであってもよい。
【0147】
本願の実施例の別の局面によれば、本願の実施例はプログラムコードを含むコンピュータプログラムをさらに提供しており、コンピュータが前記コンピュータプログラムを実行する時、前記プログラムコードが以上のいずれかの実施例に記載の方法を実行する。
【0148】
理解されるべきこととして、以上に示された様々な形式のフローを使用してもよく、操作を改めてソーティングしたり、追加したり又は削除してもよい。例えば、本開示に記載の各操作は、並列に実行されたり、順次に実行されたり、又は異なる順序で実行されてもよく、本開示に開示された技術案が所望する結果を実現することができれば、本明細書はここで限定されない。
【0149】
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件及び他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション及び代替を行うことが可能であると理解すべきである。本開示の精神と原則内で行われる任意の修正、均等置換及び改良などは、いずれも本開示の保護範囲内に含まれるべきである。