質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

1432閲覧

1行ごとに書いてあるソースコードの説明をしてくれるツールなどはありますか?

hiyoko-kun

総合スコア23

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2020/04/26 04:53

前提・実現したいこと

プログラム初心者ですが、他人が書いたプログラムを読む必要があるため
1行ごとに書いてあるソースコードの説明をしてくれるツールを探しています。

理想は、下の画像のようなものを探しています
(ツールが動けば、横に自動で説明文を生成してくれるものなど)
イメージ説明

また、定義を説明するものでも問題ございません(下記の画像はvscodeです)
イメージ説明

前回はテキストエディタ限定で質問をしていましたが、
ツールやwebサイトに貼り付け?等でコードを説明してくれるものを探しています。

ソースコードだけだと読むのに苦労するため、どんな方法でも大丈夫ですので、
コードや定義の説明をしてくれるものがあれば教えて頂けると嬉しいです!

可能であれば、日本語で説明してくれるものが良いです(英語でも大丈夫です)
よろしくお願いいたします!

試したこと

最近ソースコードを可視化するツール(code crumbsや、sourcetrail)を見つけたのですが、
コードを説明するものがなかったですので、質問させて頂きました。

補足情報(FW/ツールのバージョンなど)

windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/04/26 05:38

「他人が書いたプログラムを読む必要がある」というのは仕事でしょうか? 頑張ってソースを読むか、出来ないのであればその仕事を断るか、業者に頼むしか選択肢はないように思います。
hiyoko-kun

2020/04/26 05:51

助言をしてくださり、ありがとうございます。 仕事ではなく大学の研究なので、断ることや他人に頼むことができないです。 なんとか工夫して乗り切ろうと思います。
meg_

2020/04/26 06:05

アルバイトを雇うとかもNGなんでしょうか? プログラム初心者ですとコード解読は大変かと思いますが頑張ってください。
hiyoko-kun

2020/04/26 17:25

自分は先生ではなくて学生ですので、バイトを雇うとかではなく研究で必要であるという感じです。 お気遣い頂きありがとうございます! 頑張ります(^^)
guest

回答1

0

ベストアンサー

プログラム初心者ですが、他人が書いたプログラムを読む必要があるため

1行ごとに書いてあるソースコードの説明をしてくれるツールを探しています。

そんなものはないと思います。

開発環境(IDE)の支援で、ある関数のドキュメントを表示してくれるような機能は世の中に沢山あります(Visual Studioのタグを付けているのであればVisual Studioにそういう機能があるのでご存知だと思います)が、それはソースコード内や付属するファイルに説明文が埋め込まれているためです。

事前に何も用意されていない場合、ソースに説明を付け加える事はできません。

その場合「ソースに書いてあるそのままの事」以上の説明は不可能なので、ソースを読めばわかる、という事になるため、ご希望されてるようなツールはそもそもニーズがなく誰も作ってないと思います。


追記

そもそもプログラミング言語、特に高級言語と呼ばれる言語は、人間が理解可能な言葉として作られています。これをコンパイラなりインタプリタが「機械語」に翻訳して、コンピュータが解釈します。

一方、プログラミング言語と自然言語を間には大きな隔たりがあります。自然言語は解釈する相手も人間なので、曖昧さや暗黙のうちに共有される情報が存在しますが、プログラミング言語にはそのようなものは存在しません。

そのため、質問文で求められているような、より自然言語に近い形でプログラミング言語を説明するとすれば、それは「仕様書」とか「リファレンス」とかのドキュメントの類になります。

こうしたドキュメントからプログラミング言語に翻訳するのがプログラマーの仕事であり、逆のことをコンピュータができるわけではありません。

将来的にはAIの研究が進んでそのようなリバースエンジニアリングの仕組みが実現できるかもしれませんが、現時点ではあくまで人間が予めその説明文を用意しないと「不可能」だという事です。

投稿2020/04/26 05:19

編集2020/04/26 06:08
gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiyoko-kun

2020/04/26 17:23

丁寧に教えて頂きありがとうございました! 大変勉強になりました。 ありがとうございます(^^)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問