azu icon indicating copy to clipboard operation
azu copied to clipboard

コメントをASTに当てて柔軟なコメントを

Open azu opened this issue 11 years ago • 2 comments

コードのコメントって行指向だけど、実際につける時ってメソッドとか値に対してつけてるはず。 ASTに対してコメントを付けられる書式が上手くできれば、ウェブ上で動くサンプルコードのコメントとかもっと意味のある形に出来るような気がする。

// analyticsID はGoogleのアクセス解析のID
var analyticsID = "UA-XXXX-Xxxx";

という風に書いた時、コメントはanalyticsIDという変数に向かって書かれている。

メソッドの場合も同じようにかける

// .filter(predicate) で値を偶数に絞る
[1,2,3].filter(function(num){
    return num%2==0;
});

基本的にコメントって同じスコープに対して書くので、

  • コメントで指定したfilter(predicate)からASTを組み立てる
  • ASTにマッチするコードを同じスコープから探す
  • ASTに対してコメントを当てる

ということをやれば出来そうな気がする。

これで何が出来るのかはまた別途考える必要ありそうだけど、行指向のコメントを編集に強いコメントがつけられるじゃないかな?

例えば、編集できるサンプルコードにこのASTベースなコメントを当てて置けば、編集して行が動いても意図した部分に対してコメントを当てられる。

書いててJSDoc的な感じがしたので既にこういうアプローチはありそう。 現実的コードよりはexample codeのcommentをもっと改善したい感じ。

azu avatar Aug 24 '14 22:08 azu

コードレビュー的にもありそう

azu avatar Aug 24 '14 23:08 azu

twada/escallmatch みたいのを使えば、コメントから指定位置とかをより自然に書けそう

azu avatar Aug 26 '14 12:08 azu