2011-09-06 96 views
7

我是一名Android開發人員,出現以下問題:當我爲了編譯過程而發表重要評論時,是否將代碼中的有用註釋放入代碼中,編譯器能否在註釋部分花費一些時間?評論會影響編譯時間嗎?

如果不是,那麼從我們的評論多久開始沒有任何效果?

回答

21

編譯器能否在註釋部分花費一些時間?

除了遍歷對應評論(這應該是微不足道的,只要它不是一個數兆字節長註釋)字節的IO開銷,它將使什麼那麼沒有什麼區別。大多數編譯器甚至不包括AST中的註釋,這意味着解析後註釋完全消失。

決不要根據編譯時間決定是否包含評論。您的決定僅取決於它是否使代碼更易讀。

延伸閱讀:

10

這需要時間來閱讀和分析這些註釋塊,但這個時間是如此之短,你不會通知和反正不是一個藉口不要把(擴展和有用的)評論放在你的程序中:-)

11

是的,您編寫的每條評論都會使編譯速度變慢,因爲編譯器必須讀取更多文本。但是:閱讀註釋對編譯器來說非常簡單,而且很快完成,因此您不必擔心。

你可以自己嘗試一下。製作一個程序,生成一些簡單的源代碼,其中有很多註釋。

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

現在你可以嘗試使這個(生成的)評論非常長,甚至可能是兆字節。然後在編譯帶有小和大註釋的代碼時測量差異,並且您會看到速度仍然可以接受。

+0

另一個需要注意的是,在評論中使用特殊字符也可以打破您的編輯。以書中的Java Puzzlers爲例。 – Scorpion

+0

你的意思是'// use \ u000A for UNIX linebreak'? ;) –

+0

你讓我:-)。這是一個有趣的。 – Scorpion