Влияют ли комментарии на время компиляции? - PullRequest
7 голосов
/ 06 сентября 2011

Я разработчик для Android, и мне в голову пришёл следующий вопрос: Когда я помещаю большой комментарий для процесса компиляции, может ли компилятор занять некоторое время в части комментария, когда мы помещаем наш полезный комментарий в код?

Если нет, то разве это не даст никакого эффекта с тех пор, как долго наш комментарий?

Ответы [ 3 ]

20 голосов
/ 06 сентября 2011

может ли компилятор занять некоторое время в части комментария?

Кроме затрат на ввод-вывод при обходе байтов, соответствующих комментарию (что должно быть незначительным, если это не комментарий длиной в несколько мегабайт), это не будет иметь никакого значения.Большинство компиляторов даже не включают комментарии в AST, что означает, что комментарии полностью исчезли после синтаксического анализа.

Никогда не решайте, включать ли комментарий на основе времени компиляции.Основывайте свое решение исключительно на том, делает ли он код более читабельным или нет.

Дополнительная информация:

10 голосов
/ 06 сентября 2011

Да, каждый ваш комментарий замедляет компиляцию, потому что компилятор должен читать больше текста.Но: чтение комментариев очень просто для компилятора, и это быстро делается, поэтому вам не стоит об этом беспокоиться.

Вы можете попробовать это сами.Создайте программу, которая генерирует некоторый простой исходный код с множеством комментариев.

int i = 0;
...
i++; /* This is a comment, and maybe a very long one. */
...

Теперь вы можете поэкспериментировать с созданием этого (сгенерированного) комментария очень длинного, возможно, даже мегабайта.Затем измерьте разницу при компиляции кода с маленькими и большими комментариями, и вы увидите, что скорость все еще приемлема.

9 голосов
/ 06 сентября 2011

Требуется время, чтобы прочитать и проанализировать этот блок комментариев, но это время настолько короткое, что вы не заметите, и в любом случае не оправдание для того, чтобы не размещать (расширенные и полезные) комментарии в ваших программах: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...