亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

翻譯《有關編程、重構及其他的終極問題?》——16.在編程過程中“裝逼”是不可接受的

2019-11-14 09:20:02
字體:
來源:轉載
供稿:網友

翻譯《有關編程、重構及其他的終極問題?》——16.在編程過程中“裝逼”是不可接受的

標簽(空格分隔): 翻譯 技術 C/C++ 作者:Andrey Karpov 翻譯者:顧笑群 - Rafael Gu 最后更新:2017年02月05日


16.在編程過程中“裝逼”是不可接受的

我們這里要說的和之前說到的“不要試圖把盡量多的操作符放到一行代碼里”有一些類似,但這次我想聚焦于另外一個方面。有時候我們程序員充滿斗志,好像在和某人比賽一般,然后就會寫一些盡量短(譯者注:而且故意很難讀看上去很高深的代碼)。

我這里并非說的是那些復雜的模板。因為很難找到明顯的界限去區分這些模板那里不好或那里好,所以這應該是一個另外一個話題的范疇。現在我們這里將要討論的只是一些相關C/C++程序員的簡單情況——經常的,這些程序員會寫很復雜的代碼,然后想表達“看我能這么玩,牛逼吧”。

下面這段代碼來自KDE4。PVS-Studio診斷的錯誤描述為:V593 Consider reviewing the exPRession of the ‘A = B == C’ kind. The expression is calculated as following: ‘A = (B == C)’(譯者注:大意是建議review代碼,因為編譯器會把其中類似A = B == C的語句理解為A = (B == C))。

void LDAPProtocol::del( const KUrl &_url, bool ){ .... if ( (id = mOp.del( usrc.dn() ) == -1) ) { LDAPErr(); return; } ret = mOp.waitForResult( id, -1 ); ....}

解釋 在看過上面的代碼后,我一直有類似的疑問:把代碼寫成那樣到底是圖樣?難道節省了一行空間嗎?或者是作者想展示自己有能力把多個動作里和在一個表達式里?

但結果是我們得到了一個典型的錯誤模式——即使用了類似if (A = Foo() == Error)的表達式。

比較操作符的優先級高于賦值操作符,這就是為什么“mOp.del(usrc.dn()) == -1”表達式會先被執行的原因,然后只有true(1)或者false(0)被賦予了id變量。

如果mOp.del()返回了‘-1’,這個函數就會終止;否則程序就會繼續執行,而且id變量也被賦予了一個不正確的值,這個判斷也會始終等于0。

正確的代碼 我想強調一下:增加額外的括號并不是這個問題的解決方法。是的,錯誤被消除了,但這是個錯誤的方法。

如果你靠近看,你會發現代碼中已經有了額外的括號。很難判斷為何要多加這個括號,也許是作者想去除編譯器警告,也許是對操作符的優先級不確認,或者是想修復前面提到的問題,無論如何都失敗了,所以增加額外的括號并沒有提供幫助(譯者注:其實是把括號位置放錯了)。

但更深層次的問題在于,如果能讓代碼不太復雜,那就不要太復雜。所以正確的代碼如下:

id = mOp.del(usrc.dn());if ( id == -1 ) {

建議 不要因為懶惰而不想多寫一行代碼:畢竟復雜的表達式難以閱讀。先做賦值,然后再比較。這樣,你會讓后來接手這些代碼的程序員更容易一些,而且還減少了犯錯誤的幾率。

所以,我的結論是——不要裝逼。

這次這篇文章有些瑣碎,但我希望能幫助你。寫出干凈整齊的代碼始終是更好的方式,而不是那種“看我多牛逼”的方式。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精品久久久久| 欧美成人免费观看| 色哟哟网站入口亚洲精品| 国产欧美婷婷中文| 日韩经典中文字幕| 国产成人精品免高潮在线观看| 欧美美女18p| 亚洲成人在线视频播放| 日韩中文字幕视频| 欧美一级高清免费| 4438全国亚洲精品在线观看视频| 国产日韩欧美一二三区| 亚洲国产精品福利| 国产精品丝袜高跟| 国产精国产精品| 久久激情视频免费观看| 国产精品wwwwww| 欧美日韩黄色大片| 国产精品中文在线| 亚洲高清久久久久久| 国内精品400部情侣激情| 日韩大片免费观看视频播放| 亚洲欧美日韩综合| 国产欧美一区二区白浆黑人| 亚州av一区二区| 97在线看免费观看视频在线观看| 亚洲经典中文字幕| 久99久在线视频| 国产亚洲精品久久久久久| 在线视频精品一| 久久综合伊人77777蜜臀| 色与欲影视天天看综合网| 欧美成aaa人片在线观看蜜臀| 日本国产欧美一区二区三区| 亚洲欧美福利视频| 午夜精品一区二区三区在线视| 日韩精品有码在线观看| 国产区亚洲区欧美区| 久久久亚洲欧洲日产国码aⅴ| 日韩一级黄色av| 日韩最新在线视频| 国内外成人免费激情在线视频| 一本大道亚洲视频| 一本久久综合亚洲鲁鲁| 91精品久久久久| 亚洲精品久久久久久久久久久久久| 亚洲国产欧美久久| 深夜福利91大全| 成人精品一区二区三区电影免费| 国产精品视频白浆免费视频| 欧美大成色www永久网站婷| 欧美日韩国产成人在线观看| 亚洲男人av电影| 5252色成人免费视频| 亚洲最大成人网色| 日韩在线资源网| 91国产一区在线| 久久99青青精品免费观看| 日韩av电影手机在线| 91精品国产777在线观看| 91精品国产乱码久久久久久蜜臀| 亚洲第一精品夜夜躁人人爽| 国产精品视频一区二区三区四| 亚洲一区二区久久久久久久| 日韩亚洲国产中文字幕| 91在线国产电影| 日韩中文字幕在线精品| 国产成人亚洲精品| 91在线观看免费网站| 中文字幕在线日韩| 国产精品精品久久久久久| 久久免费视频在线| 亚洲精品美女在线观看| 色老头一区二区三区| 国产在线视频2019最新视频| 亚洲国产另类 国产精品国产免费| 亚洲亚裔videos黑人hd| 九九久久久久99精品| 日韩毛片中文字幕| 日韩欧美国产高清91| 91精品国产高清自在线看超| 不卡在线观看电视剧完整版| 欧美成人精品三级在线观看| 成人黄色av网站| 国产精品视频免费在线观看| 中文字幕av一区中文字幕天堂| 欧美与欧洲交xxxx免费观看| 国产精品黄色av| 亚洲人成在线观| 91美女片黄在线观看游戏| 中文字幕精品一区久久久久| 中文字幕国产精品久久| 国产97人人超碰caoprom| 国产精品福利久久久| 欧美自拍大量在线观看| 成人黄色av网| 欧美国产高跟鞋裸体秀xxxhd| 日韩免费av一区二区| 精品国产91久久久| 亚洲欧美日韩一区二区在线| 欧美国产在线视频| 精品综合久久久久久97| 欧美成人免费全部观看天天性色| 亚洲图片在线综合| 91国自产精品中文字幕亚洲| 色综合91久久精品中文字幕| 黑人精品xxx一区一二区| 欧美电影第一页| 在线播放亚洲激情| 色噜噜狠狠狠综合曰曰曰88av| 久久久国产精品x99av| 欧美黑人巨大xxx极品| 亚洲女性裸体视频| 欧美极品少妇全裸体| 国产精品视频一区二区三区四| 久久久最新网址| 欧美亚洲第一页| 精品成人av一区| 日韩av成人在线| 精品国产一区二区三区久久| 成人免费高清完整版在线观看| 色婷婷av一区二区三区在线观看| 国产噜噜噜噜噜久久久久久久久| 中文字幕视频一区二区在线有码| 国产亚洲激情在线| 欧美中文在线视频| 午夜精品一区二区三区在线播放| 精品久久久久久久大神国产| 成人免费视频xnxx.com| 欧美重口另类videos人妖| 欧美激情一级二级| 日韩中文字幕精品| 国产日韩欧美日韩| 欧美日韩国产色| 欧美激情videos| 国内精品模特av私拍在线观看| 久久99热这里只有精品国产| 日韩成人免费视频| 久久不射热爱视频精品| 国产精品久久久久影院日本| 亚洲国产精品久久久| 美女性感视频久久久| 在线播放亚洲激情| 国产精品久久久久久久久久ktv| 国产精品久久久久免费a∨大胸| 欧美激情精品久久久久久黑人| 亚洲护士老师的毛茸茸最新章节| 久久久久久久久久久网站| 97福利一区二区| 亚洲精品电影网站| 久久久久久久一| 国产成人精品一区二区在线| 神马久久久久久| 91av国产在线| 欧美影院久久久| 一夜七次郎国产精品亚洲| 欧美日韩成人网| 国产丝袜一区视频在线观看| 国产精品永久免费视频| 一区二区三区精品99久久| 日本sm极度另类视频| 国模叶桐国产精品一区| 中文字幕日韩av电影| 国产精品日韩精品|