4 ms·
But that code is just a html page you are annotating. What happens on a new commit. The annotations should persist somehow across code changes. That would requi
by asadlionpk 12y ago
But that code is just a html page you are annotating. What happens on a new commit. The annotations should persist somehow across code changes. That would require specialised solution for code annotation I suppose.
- tomlemon 12y agoWell take this for example: http://genius.com/5079163/github.com/rails/rails/blob/master/activemodel/lib/active_model.rb http://genius.com/5079163/github.com/rails/rails/blob/master... This annotation will always be on the version of active_model.rb at master, even if it changes. And we try pretty hard to anchor annotations even when the underlying text changes. Here's a talk I did explaining our approach to "fuzzy annotation anchoring" if you're super interested: https://www.youtube.com/watch?v=FJyqfRcyYIQ https://www.youtube.com/watch?v=FJyqfRcyYIQ But it's definitely not perfect! Hit me up with suggestions: tom@genius.com
- blt 12y agoIt would have to be a state-of-the-art code diff tool. I've never used a diff tool that can accurately track a line of code through big refactoring changes. They are really only good for small incremental localized changes. I think that says more about the weakness of mainstream diff tools than it says about the problem. I don't really know how difficult it is, but I'm guessing just a slight amount of semantic understanding would get you way beyond the quality of current diff tools. Kind of sad that nobody is doing it. I use Perforce every day on a really large, old code base, and it's depressing how awful the differ and "blame" tool are. Especially because those tools's usefulness seems to increase in proportion to the size and age of the code base. I guess programmers are masochists; we really haven't put that much effort into our own tools...