91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android注釋實例分析

發布時間:2022-01-07 10:01:11 來源:億速云 閱讀:176 作者:iii 欄目:大數據

這篇文章主要講解了“Android注釋實例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Android注釋實例分析”吧!

曾經的我被批評過很多次寫的注釋寫的很糟糕,我原本以為把函數名取得長一點,意思更明確一些,變量更易懂一些,就不用寫注釋了。結果后來我去年的代碼給評獎的時候,說注釋不規范,每個函數就幾行,看不懂。有一次同事問我新增代碼多少,我看了一下代碼統計,發現不多,但是突然注意到注釋率56%。也就是說100行代碼,有56行注釋。真是神一樣的代碼。 這次我倒是真的“專心”寫了注釋的。每一個函數頭都謝了注釋,即便是構造函數,也寫了注釋。

/*******************************************
* 作用:構造函數* 輸入:無
*輸出:無
*作者:xxxxxxxxxxx
********************************************/
XXXXXXXXX:XXXXXXXX()
{
}

這樣,兩行代碼,寫了6行注釋,會得到很高的注釋率。但,這個注釋,真的有用么? 神一樣的注釋還有:

/**********************************************
Function name:*
Param:*
IN:*
OUT:*
Reference by:*
Called by:*
Return:
History:*
Author:*
Date:*
*********************************************/

剛進公司的時候,發的是一個17寸的LCD,一個代碼要滾很多屏幕才能滾完。這些注釋都是Source Insight的一個插件搞得,相當霸道。但很多注釋完全是為了注釋而注釋,一個有用信息都沒有。每次看到這種注釋都有種沖動想把它干掉。前段時間新員工代碼檢視被軟件部經理說注釋不齊全,說這些要補齊。幸好當時我看到了,她正在機械的補齊Reference by這些注釋。我立刻制止,給她一份我的注釋

/******************************************
功能:
參數:
返回值:
作者:
******************************************/

并且,如果沒有的信息,不要填。如果返回值是void,這一行就干掉。 我認為注釋真的要寫一些有意義的東東,寫一些不容易變化的,重要的。例如什么函數名寫來干啥,下面不是立刻就有?構造函數和析構,如果不是帶參數的,也建議不寫。誰不知道這是個構造函數? 還有一種特色的注釋,如果你打開華為的G330手機的ROM的build.prop文件,你就會看到這種神奇的注釋:

persist.fuse_sdcard=false
#DTS2012011902027 guanjunujie 20120120 begin
ro.config.hw_allowformat=true
#DTS2012011902027 guanjunujie 20120120 end
#DTS2012011902069 guanjunujie 20120120 begin
ro.config.hw_allow_ums_and_mtp=true
#DTS2012011902069 guanjunujie 20120120 end
#DTS2012021607935 guanjunujie 20120214 begin
ro.config.switchPrimaryVolume=true
#DTS2012021607935 guanjunujie 20120214 end
# DTS2012022802590 wuye00193878 20120229 begin
ro.config.internal_sdcard=yes
ro.config.hw_cdma_cdg=false
# DTS2012022802590 wuye00193878 20120229 end
#/*< DTS2012031303262 yufei 20120313 begin */
#/*< DTS2012022306777 yufei 20120301 begin */ #/*DTS2012022306777 yufei 20120301 end >*/
#/*DTS2012031303262 yufei 20120313 end >*/
# /* # /* # /* */
# /* DTS2012030302649 tiandazhang 20120303 end> */
# /* DTS2012031100199 tiandazhang 20120311 end> */
#DTS2012030300592 Cheng Wei c81003953 2012-03-09 add begin.
ro.build.characteristics=default
#DTS2012030300592 Cheng Wei c81003953 2012-03-09 add end.
#DTS2012022804910 chensaitao 20120323 begin
ro.config.hw_test_version=false
#DTS2012022804910 chensaitao 20120323 end
# DTS2012062806152 z81003396 20120628 Delete ro.huawei.cust.drm.fl_only=true.
#/**/
# DTS2012032607960 tiandazhang 20120327 begin
ro.config.widevine_level3=true
# DTS2012032607960 tiandazhang 20120327 end
#/**/

# DTS2012041703860 zhangqijia 20120417 begin
# DTS2012080800950 baitao 20120905 begin
ro.com.google.gmsversion=ics_signed_r4
# DTS2012080800950 baitao 20120905 end
# DTS2012041703860 zhangqijia 20120417 end

#DTS2012022002232 wangwenbo 20120220 begin
ro.config.hwft_simrefresh=true
#DTS2012022002232 wangwenbo 20120220 end

我在當時移植4.1的時候,就被這些“注釋”搞得頭暈眼花。不覺得這些都是些天書么?他們試圖想代替版本管理軟件,來展現一段歷史。

在我們的一些老代碼中,也有很多類似的注釋,一連幾個begin,然后不知道哪里end,然后一行代碼被圍上了好幾個begin。看代碼的人不斷滾屏。我當新員工的時候就問,為啥要這么搞?憑啥要這么搞?被告知,和代碼的時候要方便點。

后來,當我真正用到IBM的Clearcase的時候,我才知道,為啥這樣要“方便一點”。Clearcase,至少在7.x版本,還是沒有一個元commit的概念。他只能每個文件生成一個節點,對每次commit,都會給不同的文件形成多個節點。每次commit,其實是對幾個文件的commit,之間沒有絲毫的關系。所以一旦上庫后,你想知道某個問題是怎么修改的,你光看一個文件,沒法找到其他文件的修改!而SVN,GIT這些,每次commit都是一個完整的集合,則不存在這些問題。所以,在這樣老土的版本管理軟件下,只能采取類似的注釋,企圖能夠快點找到所有的修改。特別是CMO合并問題單的時候!

但這樣,真的是相當的不安全。所以我采取的做法是,我在問題單中貼上我所有的修改,但不在代碼中做注釋,你想合并問題,自己看我的問題單,理解了,然后再合并。省得由于我的begin end沒有整對,到時候怪到我頭上。

感謝各位的閱讀,以上就是“Android注釋實例分析”的內容了,經過本文的學習后,相信大家對Android注釋實例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来安县| 泰州市| 灌南县| 景德镇市| 松潘县| 瓮安县| 阜新| 遵义县| 屏山县| 双牌县| 凤凰县| 富裕县| 平安县| 茂名市| 卢龙县| 高阳县| 新田县| 房产| 宣汉县| 邯郸县| 罗田县| 东乡族自治县| 乌拉特前旗| 师宗县| 天峻县| 辽源市| 乐陵市| 盐源县| 云南省| 九龙坡区| 谢通门县| 洛隆县| 红原县| 潍坊市| 岳西县| 黑龙江省| 卓尼县| 连平县| 奉新县| 延寿县| 玉屏|