序員寫代碼需要代碼注釋嗎?對于這個問題不外乎兩種觀點。
一種程序員認為,如果類、方法、變量定義準確,代碼注釋顯得有點多余。最好的代碼注釋就是沒有注釋。
另一種程序員認為,必須寫代碼注釋。
谷歌創始人布林
別以為你可以理解自己寫的代碼,過了兩個星期之后,你可能就不知道代碼是不是自己寫的。
如果是簡單的代碼,不加注釋情有可原,但是,復雜的代碼那就必須加注釋了。
下面w3cschool分享代碼注釋的5大技巧:
1、代碼注釋最基本的原則
代碼注釋一定是注明代碼的目的,而不是代碼的行為。為何呢?因為通過代碼我們就可以清楚行為,多加注釋,畫蛇添足。
2、使用空格對齊注釋行
為了方便閱讀起見,代碼注釋對齊會更好一些。那么問題來了,是用tab對齊還是用空格鍵對齊呢?
我們都清楚,tab在不同的編輯器和集成開發環境中是不一樣的,所以選擇空格鍵對齊會適合一些。
const MAX_ITEMS = 10; // maximum number of packets
const MASK = 0x1F; // mask bit TCP
3、代碼少而精
如果說代碼注釋一定要有,那就就要盡量做到少而精。有些人代碼注釋寫的跟小說一樣,這后果是相當嚴重的...
4、代碼“統帥”段落
一些程序員習慣將代碼分成多個“段落”,這是非常要好的一個習慣。
以上是谷歌創始人之一布林的代碼,他沒有在簡歷中寫待遇,直接在html源代碼注釋:辦公室要大,掙錢要多,干活要少...
當然,加個代碼注釋就會錦上添花。比如在段落代碼前加個注釋。同樣地,就是告訴自己或者維護人員代碼的意圖。
5、代碼注釋的精髓
不知道有沒有小伙伴使用下面這種方式寫代碼注釋,必須要給出大寫的“服”!
例
HTML 注釋:
<!--這是一個注釋,注釋在瀏覽器中不會顯示--><p>這是一個段落</p>
瀏覽器支持
所有主流瀏覽器都支持 <!--...--> 注釋標簽。
標簽定義及使用說明
<!--...--> 注釋標簽用來在源文檔中插入注釋。注釋不會在瀏覽器中顯示。
您可使用注釋對您的代碼進行解釋,這樣做有助于您在以后的時間對代碼的編輯。特別是代碼量很大的情況下很有用。
您也可以在注釋內容存儲針對程序所定制的信息。在這種情況下,這些信息對用戶是不可見的,但是對程序來說是可用的。一個好的習慣是把注釋或樣式元素放入注釋文本中,這樣就可避免不支持腳本或樣式的老瀏覽器把它們顯示為純文本。
<scripttype="text/javascript"><!--functiondisplayMsg(){alert("Hello World!")}//--></script>
注釋:命令行最后的兩個正斜杠(//)是 JavaScript 注釋符號。這確保了 JavaScript 不會執行 --> 標簽。
除了在源文檔中有非常明顯的作用外,許多 Web 服務器也利用注釋來實現文檔服務端軟件特有的特性。這些服務器可以掃描文檔,從傳統的 HTML/XHTML 注釋中找到特定的字符序列,然后再根據嵌在注釋中的命令采取相應的動作。這些動作可能是簡單的包括其他文件中的文本(即所謂的服務器端包含,server-inside include),也可能是復雜地執行其他命令去動態生成文檔的內容。
HTML 4.01 與 HTML5之間的差異
無。
標準屬性
<!--...--> 注釋標簽不支持任何標準屬性。
如需更多有關 HTML 標準屬性的信息,請訪問 標準屬性。
事件屬性
<!--...--> 注釋標簽不支持任何事件屬性。
如需更多有關 HTML 事件屬性的信息,請訪問 事件屬性。
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
的代碼本身就是最好的說明文檔。為了追求這一目標,除了寫出優雅的代碼外,給代碼們添加注釋,也是優秀程序員的一個好習慣。由于注釋不會影響程序本身,因此被程序員們玩壞了。
有人用來娛樂,有人用來吐槽,有人用來調侃。程序員壓力大,需要一個地方發泄,可又不能因此斷了思路,于是代碼注釋成了絕佳的地方。
去年,就有這么一個事,蝦米音樂APP被爆出,代碼注釋中含有歧視侮辱性的詞匯,將活動贈送的vip,標注為窮xvip。事件一曝光,就受到廣泛關注,引來罵聲一片。
程序員一看這條注釋,別說,還挺有意思,下回我也玩玩,是個解壓的法子。可要是老板看了,嚴重點的,估計就炒盤魷魚給這位程序員吃了,怎么能這樣瞎寫呢?
注釋,似乎并不是程序員,發泄情緒的唯一寶地,ID也算是一個情緒垃圾桶。早些時候,知乎html代碼中,曾出現這么一個id名字:“get in zhihu because i am stupid”,譯為“傻子才進入知乎”,地址直接指向首頁,產生了比較惡劣的影響。這事兒估計老板不知道,不然輕則扣績效,重則就是一頓k啊。
你以為只有國內程序員,才這么玩嗎?不!國外玩的更瘋。這是一段來自貝爾實驗室的,第六版Unix Kernel,注釋語句為“you are not expected to understand this”,意思就是,你不可能看懂這個。
在《雷神之錘三競技場》這款游戲中,同樣出現了奇葩的代碼注釋,而且十分露骨,為了和諧,對關鍵位置進行了打碼,請自行腦補。
谷歌創始人謝爾蓋·布林,在學生時代求職時,簡歷上沒有寫明期望的待遇,但如果你去查看他的建立的html代碼,會發現還是有要求的。
A large office,good pay,and very little work.
Frequent expense-account trips to exotic lands would be a plus.
意思就是,辦公室要大,工資要高,工作量還要很少,最好還能經常出差,去國外旅游的。
要求還挺高,不知道如果谷歌的求職者,這么告訴他,謝爾蓋·布林會不會跳起來,拍桌子。
即將離職的程序員,會利用注釋干什么?嗯,別說,這堪稱時尚最良心的程序員了。直接告訴新來的兄弟,這家公司有多坑多坑。剛入職的程序員估計會被嚇跑,然后感謝一下前輩。老板要是看了,估計不發飆都不行了。
做顧客,要是不會看個代碼注釋,被坑了可能還不知道,這是有多悲劇。
當然,閑的蛋疼的猿,還會做這樣的注釋:
或者是這樣:
嗯?如此注釋,娛樂娛樂就好,千萬別嘗試,要不你就得面對憤怒的老板,亦或者是發狂的項目經理……
*請認真填寫需求信息,我們會在24小時內與您取得聯系。