/** * @name Number of todo/fixme comments per file * @description The number of TODO or FIXME comments in a file. * @kind treemap * @id cpp/todo-comments-per-file * @treemap.warnOn highValues * @metricType file * @metricAggregate avg sum max * @tags maintainability * documentation */ import cpp from File f, int n where f.fromSource() and n = count(Comment c | c.getFile() = f and ( c.getContents().matches("%TODO%") or c.getContents().matches("%FIXME%") ) ) select f, n order by n