如何提升程序的健壮性,这一点在今天之前基本上没有考虑过,或者说考虑的很少。不过在刚才,查看Demo的时候发现,这些大佬写的代码,都会有意无意地考虑到程序的健壮性的问题。
那我就稍微整理一下常见的思路。
- 判误
这个比较容易理解,就是如果一个函数有参数,或者说是需要从其它地方得到值,那么会进行参数或者值得判误操作,判断该值是否满足我们的需要。
比如,文件的判空,数据的判正负,操作的判真等,这点也是我平时或多或少所能考虑到的地方。 - 纠误
关于“纠误”,说实话,我可以说从来就没有过这个念头,一般我只是进行第一点的“判误”。
不过在刚才,我看了一个Demo,发现,大佬在力所能及的地方,都会进行纠误操作。
比如他所写的一个函数:void OpenFile(const QString &strPath),该函数的作用就是通过传递一个文件路径,然后进行打开,并将该文件的数据进行展示。这里面有一个我认为非常迷人的操作,如下:
void OpenFile(const QString &strPath)
{
QString strFileName;
if (stePath.isEmpty())
strFileName = QFileDialod::getOpenFileName(this, tr("Choose a data dile"), "", "*.cht");
else
steFileName = strPath;
.........
.........
}
这个操作简直亮瞎了我的眼睛,因为如果是我,我很大的可能是最多只能判断这个路径是否为空,如果不为空,进行下面的操作,如果为空,则报个错,然后返回。
然而,大佬就不一样了,直接在里面进行了一个“纠错”的操作,如果为空,则重新打开,如果不为空,则继续进行。
说实话,这个操作没有什么技术上的难度,而是一种思维的局限性导致自己想不到这样搞,一般情况下我只进行了“判错”的操作,根本想不到还可以进行“纠错”,只能说一山还有一山高,大佬多的是,自己的前路还有很长。