Поддерживаем ли мы незнакомый код или проверяем детали реализации модуля Apache, он может помочь, если мы сможем быстро пройти код и составить обзор того, что мы рассматриваем. Grep обслуживает большинство моих ежедневных потребностей, но есть случаи, когда это просто не будет.
Вот общий пример того, как он может помочь. Чтобы найти определение функции PHP, которое меня интересует, я могу ввести ее в командной строке:
grep -r "function myfunc" .
Это может быть очень быстро адаптировано к C или С++, если мы знаем тип возвращаемого значения, но все усложняется, если, скажем, я хочу перечислить каждый метод, который предоставляет мой класс:
grep "function " ./src/mine.class.php
Так как нет единственного ключевого слова, которое обозначает функцию или метод в С++ и потому что это обычно более сложный синтаксис, я думаю, мне нужен какой-то инструмент для анализа статического кода, умное использование препроцессора C или слепая вера, которую следовал кодер строгие правила кода (# пробелов, положение колючек и т.д.), чтобы получить такие результаты.
Что вы порекомендовали бы?