我正在处理test.c
文件并尝试计算其中的单行注释。
当我发现两个连续/
个字符时,我将slc
触发器设置为true
。
当我到达行尾时,我需要将slc
触发器设置为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;
这两个代码块之间有什么区别吗?
我该怎么写?
答案 0 :(得分:6)
使用第一个表格。添加额外的if
检查不会影响代码的功能,只会增加其可读性,这是不好的做法。您应始终尽可能以最简洁的方式编写不会模糊代码意图的方法。因为在这种情况下,您的意图始终是变量为false
,所以只需设置slc = false
。
答案 1 :(得分:0)
排名第一的是诀窍以及为什么要担心if