最近很流行的:
if
((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto
fail;
if
((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto
fail;
goto
fail;
if
((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto
fail;
apple軟體實力本來就很差, 寫出這種搞笑的bug不用太在意.
之前使用Xcode天啊, 這比10年前的 vc++還爛.
看一個開發工具很不好用, 看 debug就曉得.
在xocde裡面 在 debug模式 竟然 無法看到全域變數的數值?
把函數寫在class裡面, 在函數內設中斷點, 竟然進不進去?
我不喜歡用goto, 反而常用 return;
上面我會怎麼寫?
if(
SSLHashSHA1.update()==ERROR
){ Release(); return FAIL: }
if(
SSLHashSHA1.
final()
==ERROR
){ Release(); return FAIL: }
對齊 都好看多了.
========
笨蛋才會用一堆奇怪的goto.
Dijkstra寫的內容也是其一貫的犀利語氣,文中說:「幾年前我就觀察到,一個程序員的品質是其程序中goto語句的密度成反比的」
===========
這就是我反對用 public, virtual, 過多的template.
愈是弱腳的就喜歡用一些奇奇怪怪的語法, 還有甚麼Boost? 連學 都懶的學.
你知道 STL的 vector 在push_back() 會呼叫 ~class() 嗎?
有一個 class A; push_back(A); 會呼叫 ~A() 嗎?
如果你無法100%了解的東西就不用要用.
===============
http://coolshell.cn/articles/11112.html
===============
http://coolshell.cn/articles/11112.html
- if (!p) 和 if (p == NULL)
- if (p) 和 if (p != NULL)
- if (!bflag) 和 if (bflag == false)
- if ( CheckSomthing() ) 和 if ( CheckSomething() == true )
=========
現在我的程度 這種c++等級的bug, 對我已經沒有挑戰性了(當然只對我自己寫的code)
寫3D你才知道甚麼是困難.
3D哪種bug, 是你明知問題就在這裡, 很遺憾 你是無法解決.
沒有留言:
張貼留言