#compilation #eslint #abstract-syntax-tree
Вопрос:
При анализе программы с использованием ESLint сгенерированный AST включает комментарии.
Учитывая следующие замечания в программе:
// Some descriptive comment.
// const thisIsCommentedOutCode = true;
Можно ли проверить, содержит ли комментарий допустимый код или нет? Что делать, если закомментированный код занял несколько строк?
// Some descriptive comment.
// if ( thisIsCommentedOutCode )
// {
// doSomething();
// }
//
Комментарии:
1. это немного сложно, так как закомментированный код и описательные комментарии перекрываются, например, при предоставлении фрагментов кода в документации; или, возможно, закомментированный код может быть немного недействительным, но все равно должен быть помечен как таковой; вам понадобится эвристика, которая дает вероятность принадлежности кода к той или иной категории, я бы начал сначала с распознавания языковых элементов, таких как скобки, фигурные скобки, некоторые ключевые слова и т. Д., Но человеку придется проверить результаты.