ソースコードの単語頻度を試してみた話を平鍋健児さんにして議論した結果

  • 僕は定義だけではなくすべての呼び出しも含めて頻度を計算したが、定義だけに絞るべきという意見もあった、どちらが良いと思うか?
    • 関数やクラスの定義だけではなく呼び出しも含めて解析するのが良さそう
    • 呼び出しも含めた出現頻度が高いものこそ重要度の高い概念だから
  • addItem的なメソッドをaddとitemに分けて集計したが、どう思うか?
  • クラスやメソッドだけでなく、コメントやCSSまで全部まとめて分析すべきと思うがどうか?
    • そうすべき
    • 人が見るもの、プログラムを記述するものすべてを分析
  • 補足
    • 「取り出し」と「意味づけ」を行うプロセスである
      • 「重要な概念と対応してそうな文字列」を取り出し、その意味を言語化する
    • ここで描かれたものは、概念の間の関連図、「オントロジー図」とでも言うべきもの
    • 図を描くことが目的ではなく、現状にたどり着くことが目的、少し乖離がある
  • 考察
    • メソッド名を単語に分割したもので集計する歳、その単語がどのメソッドから来たかのデータはあるので対応づけが可能
      • ランキングにitemが載って、そこから「この単語を使ってる識別子一覧: addItem, removeItem」とリンクがつながる感じ
      • ついでにその識別子一覧からコードに飛べたらいいな
      • vscode拡張として実現できるかも?
    • 単語の意味を記述した「辞書」はプログラムを書いている最中に手軽に調べられるべきな気がする
      • ソースコードと一緒に管理する?
      • 例えばプロジェクトのルートディレクトリに決まったフォーマットで書くとか

関連