空語句一般有以下幾個用途:
1.純粹消耗CPU時間,起到延時的作用,但是注意一下,"雨落深山"說的有問題的,在嵌入式系統中一般不會這麼用,原因如下:對於嵌入式系統來講,不論是哪種系統,一般下位晶片級的時間單位為Tick,這樣的處理單位對於Tick來說太粗略了。但是在嵌入式系統中,有一種情況下會用到:不需要很高的精確度,並且要避免引起Task切替的延遲處理時,有時會這麼用。因為起計時器進行延遲的話,超時處理會引起排程程序的輪循,出現Task切替。
2.為了程式的結構清楚,可讀性好,以後擴充新功能方便。有些公司的編碼規範要求,對於if/else語句等,如果分支不配對的話,需要用空語句進行配對,一般日系企業這麼要求的比較多。例如:正常的這麼做就行:if(XXX){XXXXX}但是編碼規範要求,必須這麼寫if(XXX){XXXXX}else{;}3. 對於某些大型的軟體專案,特別是一些嵌入式專案,處於自動化測試的需要,要求必須進行語句(例如,if/else語句)的配對。在進行程式碼靜態解析,單體測試Case抽出的時候,為了保證全路徑覆蓋,很多專業的高階自動測試工具,會建議進行語句(例如,if/else語句)的配對。此時對於一些不完備的分支,就會用空語句補全。
空語句一般有以下幾個用途:
1.純粹消耗CPU時間,起到延時的作用,但是注意一下,"雨落深山"說的有問題的,在嵌入式系統中一般不會這麼用,原因如下:對於嵌入式系統來講,不論是哪種系統,一般下位晶片級的時間單位為Tick,這樣的處理單位對於Tick來說太粗略了。但是在嵌入式系統中,有一種情況下會用到:不需要很高的精確度,並且要避免引起Task切替的延遲處理時,有時會這麼用。因為起計時器進行延遲的話,超時處理會引起排程程序的輪循,出現Task切替。
2.為了程式的結構清楚,可讀性好,以後擴充新功能方便。有些公司的編碼規範要求,對於if/else語句等,如果分支不配對的話,需要用空語句進行配對,一般日系企業這麼要求的比較多。例如:正常的這麼做就行:if(XXX){XXXXX}但是編碼規範要求,必須這麼寫if(XXX){XXXXX}else{;}3. 對於某些大型的軟體專案,特別是一些嵌入式專案,處於自動化測試的需要,要求必須進行語句(例如,if/else語句)的配對。在進行程式碼靜態解析,單體測試Case抽出的時候,為了保證全路徑覆蓋,很多專業的高階自動測試工具,會建議進行語句(例如,if/else語句)的配對。此時對於一些不完備的分支,就會用空語句補全。