条件语句

if语句

简单的if语句

在写if语句的时候请遵循下述指导原则:
1、确保对于等量的分支是正确的:即不要用>代替>=
2、if子句后面跟随一个有意义的语句,不要跟空语句
3、认真考虑是否真的不需要一个else子句
4、测试代码的时候,有可能的话else子句也一定要测试它
5、首先写正常代码路径,再处理不常见的情况;把正常情况的处理放在if后面而不要放在else后面

VB例子:随意的处理大量错误的代码
OpenFile (InputFile,Status) 
if Status=Error then 
     ErrorType=FileOpenError ——错误情况
else
 	ReadFile(InputFile,FileData,Status) ——正常情况
	 if Status= Success then
		 SummarizeFileData(FileData,SummaryData,Status) ——正常情况
		 if Status=Error then
		 	ErrorType=DataSummaryError —一错误情况
 		else
			 PrinSummary(SummaryData)
			SaveSummaryData(SummaryData,Status)
 			if Status=Error then
			 	ErrorType=SummarySaveError ——错误情况
			else
 				UpdateAllAccounts ——正常情况
 				EraseUndoFile 
				 ErrorType=None
	   		end if
 		end if
	 else
 		ErrorType=FileReadError ——错误情况
 	end if
end if
VB例子:系统的处理大量错误的代码
OpenFile(InputFile,Status) 
if Status<>Etror then 
	ReadFile(InputFile,FileData,Status) ——正常情况
	if Status=Success then
		SummaryFileData(FileData,SummaryData,Status) ——正常情况
		if Status<>Error then
			PrintSummary(SummarData) ——正常情况
			SaveSummaryData(SummaryData,Status)
			if Status<> Error then
				UpdateAllAccounts ——正常情况
				EraseUndoFile 
				ErrorType=None
			else
				ErrorType=SummarySaveError /* 错误情况 */
			end if
		else 
			ErrorType = DataSummaryError /* 错误情况 */ 
		end if
	else
		ErrorTyre = FileReadError /* 错误情况 */ 
	end if
else
	ErrorType=FileOpenError /* 错误情况 */ 
end if

在修改之后的例子里,使人集中阅读主程序流而不是费力地去寻找异常情况。

if else-if else语句串

C++:使用if  else if 语句对字符分类
if( InputChar < SPACE ) 
	CharType=ControlChar; 
else if( InputChar==' ' || InputChar==',' || InputChar=='.' || 
			InputChar=='!' || InputChar=='(' || InputChar==')' || 
			InPutChar==':' || InputChar==';' || InputChar=='?' || InPutChar=='-' ) 
	CharType=Punctuation; 
else if( '0' <= InputChar && InputChar <= '9' ) 
	CharType=Digit; 
else if( 'a' <= InputChar && InputChar <= 'z' ) || ( 'A' <= InputChar && InputChar <= 'Z' ) 
	CharType=Letter;

在使用上述语句串的时候,注意下面指导原则:
1、利用布尔函数调用简化复杂的检测: 将上面判断条件封装成类似IsDigit(InputChar)的布尔函数
2、把常见的情况放在最前面: 方便阅读代码,提升代码执行效率
3、确保所有情况都考虑到: 类似case语句最后的default,要在if else的最后写一个else语句,打印出不在当前判断的区域内。
4、尽量不要是用else if ,替换成case之类的

case语句

case语句的指导原则:
1、为case选择最有效的排列顺序
(1)把各种情况按字母或数字顺序组织
(2)把正常情况的事件放在最开始
(3)按出现频率排列case语句
2、使用case语句的诀窍
(1)简化各种情况对应的操作:每种情况对应的代码短小精悍,如果某种情况的操作非常复杂,就写一个子程序。
(2)不要为了用 case 语句而去定义伪交量:C++case只能是整数,不能为了满足这个要求而去检测一个字符串的首字符。
(3)把default子句用于检查真正的默认情况,如果没有默认情况,使用default来检测错误。
(4)每条case语句后面都应该加break;如果执行多条,应该在默认明确无误的表明需要穿越的流程。

要点

1、注意 if 和 else 的顺序,特别是在处理好多异常情况时,务必使正常情况流向清晰。
2、组织好 if-then-else 和 case 语句中的几种情况,使可读性最好。
3、在 case 语句中用缺省值,在 if-then-else 中的最后一个 else 中获取意外错误。
4、各种控制结构并不都同样有用,在编码时选用最合适的控制结构。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值