azu
azu copied to clipboard
コメントをASTに当てて柔軟なコメントを
コードのコメントって行指向だけど、実際につける時ってメソッドとか値に対してつけてるはず。 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をもっと改善したい感じ。
コードレビュー的にもありそう
twada/escallmatch みたいのを使えば、コメントから指定位置とかをより自然に書けそう