[英]b = false vs if (b) b = false
我正在處理test.c
文件,並嘗試在其中計算單行注釋。
當發現兩個連續的/
字符時,將slc
trigger設置為true
。
當我到達行尾時,我需要將slc
trigger設置為false
。
當然, \\n
字符清楚地表示單行注釋的結尾。
switch (character)
{
case '\n':
slc = false; // single-line comment ended
break;
但是找到\\n
字符后, slc
可以為true
或false
。
switch (character)
{
case '\n':
if (slc) slc = false; // single-line comment ended
break;
這兩個代碼塊之間有什么區別嗎?
我應該怎么寫?
使用第一種形式。 添加額外的if
檢查不會影響代碼的功能,只會影響代碼的可讀性,這是不好的做法。 您應該始終以最簡潔的方式編寫代碼,以免混淆代碼的意圖。 由於在這種情況下,您的意圖始終是使變量為false
,因此只需設置slc = false
。
頂尖的技巧,為什么要打擾if
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.