先日、PythonのコードをC#に書き直すことになる案件の工数見積のために、
Pythonコードの調査を行いました。
以前もPythonの書き直しの案件はありましたが、
今回は以前と違って他社さんが作成したコードでなくGithub上のオープンソースのコードが対象です。
(もちろんライセンスには準拠します。)
自分がPythonに不慣れなのもあるのですが、
Pythonは型宣言がほとんどなくデータの型を追いにくい
(特に多次元行列をスライス記法でnumpyなどに投げた結果、
どのようなデータに整形されたかがわかりにくい)
といった理由で読むだけでは判断が付かず、
実際に動かしてみないと処理内容に確証が持てないことが自分は多々あります。
そこで今回は、読んでいる途中でBingChatに投げてみました。
メソッドを貼り付けて、
・「以下のコードを説明してください」
・「以下のコードを1行ずつ説明してください」
などとお願いしたところ、
わかりやすくメソッド概要とコードの1行ずつの解説が出力してくれて、調査の時短になりました。
説明が不明瞭or不足している箇所も部分的に「この部分を説明してください」とお願いすることで、
深堀りして説明を得られました。
これさえあれば自力で解読する必要はないかもしれませんね。
(解説を理解し、間違っていないか判断するためにプログラムの知識は必要ですが)
業務コードを投げるのはコンプライアンス的に問題ですが、オープンソースなら大丈夫ですし、
・GPTのバージョンにより学習期間は異なりますが、
オープンソースは基本学習済みのため精度の高い回答を貰える可能性が高い
・単純なコードでない限り、自力で解読するより圧倒的に速い
ように思いますので、オープンソースの解読には積極的にChatAIを利用しようと思います。