欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++小知識(shí):不要節(jié)約代碼行數(shù)

 更新時(shí)間:2019年01月16日 14:50:12   作者:修語講編程  
今天小編就為大家分享一篇關(guān)于C++小知識(shí):不要節(jié)約代碼行數(shù),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

本篇案例來自 KDE4 源碼。

錯(cuò)誤代碼:

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

說明:

一些程序員竭盡全力想把更多的代碼壓縮到一行。他們尤其熱衷于“if”條件語句,把賦值和比較一次性完成。

一個(gè)典型的錯(cuò)誤模式是使用if (A = Foo() == Error) 這樣的表達(dá)式。上面我們正在處理的實(shí)例代碼正是這種錯(cuò)誤。

比較操作的優(yōu)先級(jí)高于賦值操作。這就是為什么“mOp.del( usrc.dn() ) == -1″ 比較會(huì)先執(zhí)行,然后“true”(1) 或“false”(0) 值被賦給變量 id。

如果mOp.del() 返回“-1”,函數(shù)會(huì)終止;否則,函數(shù)會(huì)持續(xù)運(yùn)行,“id”變量會(huì)被賦予一個(gè)錯(cuò)誤的值。它的結(jié)果總為0。

正確代碼:

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

建議:

不要懶得去寫多余的代碼:畢竟復(fù)雜的表達(dá)式很難讀懂。首先進(jìn)行賦值,然后再比較。這樣以后維護(hù)你代碼的程序員也會(huì)輕松很多,也會(huì)減少出錯(cuò)的可能。

今天的這個(gè)小技巧看起來很微不足道,不過我希望它會(huì)幫到你,牢牢記住并迫使自己寫干凈整潔且正確的代碼,而不是“看我有多專業(yè)!”的風(fēng)格

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論