代码大全阅读随笔(七)

循环控制

循环控制会出现什么样的错误,任何一种答案都可以归结到下面所说的问题之一:忽略或者错误的对循环执行初始化,忽略了对累加变量或者其他与循环有关变量执行初始化,不正确的嵌套,不正确的循环终止,忽略或者错误的增加了循环变量的值,以及用不正确的循环下标访问数组元素等等。

要点:

循环很复杂。保持循环简单将有助于别人阅读你的代码。

保持循环简单的技巧包括:避免使用怪异的循环,减少嵌套层次,让入口和出口一目了然,把内务操作代码放到一处。

循环下标很容易滥用。因此命名要准确,并且要把他们各自仅用于一个用途。

仔细考虑循环,确认他在每一种情况下都可以运行正常,并且在所有可能条件下都能退出。

多个Return可以增强子程序的可读性和可维护性,同时可以避免产生很深的逻辑嵌套。但是使用他的时候,要更加小心。

递归能够很优雅的解决一小部分问题,对他的使用也要倍加小心。

禁止使用goto语句。

表驱动法

在给出条件需要按照固定方式计算出结果,这种模式就比较适合查表法。例如:保费计算,CRC查表法计算等

要点:

表提供了一种复杂的逻辑和集成结构的替换方案,如果你发现自己对某个应用程序的逻辑或者继承树关系感到困惑,那么问问自己是否可以通过一个表来加一简化。

使用标的一项关键决策是如何访问表。你可以直接访问,索引访问或者阶梯访问。

使用表的另一项关键决策是决定应该把什么内容放入表中。

相关推荐
mit6.8242 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
beyond谚语4 小时前
C#学习小笔记(完整版)—— Patience
c#
爱吃小胖橘4 小时前
Unity网络开发--超文本传输协议Http(1)
开发语言·网络·网络协议·http·c#·游戏引擎
IT小农工5 小时前
Word 为每一页设置不同页边距(VBA 宏)
开发语言·c#·word
sali-tec6 小时前
C# 基于halcon的视觉工作流-章42-手动识别文本
开发语言·人工智能·算法·计算机视觉·c#·ocr
咕白m6258 小时前
C# 合并多个PDF文档:高效解决方案
c#·.net
c#上位机10 小时前
wpf之MVVM中只读属性更新界面
c#·wpf·mvvm
技术支持者python,php12 小时前
winform本地上位机-ModbusRTC1.上位机控制台与数据监控(数据监控架构思维与图表系列)
c#
kalvin_y_liu15 小时前
DeploySharp开源发布:让C#部署深度学习模型更加简单
深度学习·开源·c#
c#上位机15 小时前
wpf之GroupBox
c#·wpf