美文网首页程序员
状态选择,异常处理,框架

状态选择,异常处理,框架

作者: Zero2none | 来源:发表于2017-12-31 13:21 被阅读15次

什么是好的代码

处理文件刘时,无数次被各种error和潜藏的warning所折腾。

  1. 打开文件
  2. 判断文件大小
  3. 分配内存空间
  4. 读入文件到内存
  5. 关闭文件

状态码

曾认为这样

通盘考虑所有情况 -> 使用状态码状态码

将所有的情况处理掉,那异常什么,报错什么的自然也就不存在了。
没错这样的确实是好的代码,从某种意义上而言。

def readFile():
    # 伪代码
    errorCode = 0
    # open the file
    if (FileOpen):
        # determine its size
        if (GetFileLength):
            # allocate memory
            if (GetEnoughMemory):
                # read file into memory
                if (readFailed):
                    errorCode = -1
                else:
                    erroCode = -2
            else:
                errorCode = -3
        else:
            errorCode = -4
    else:
        errorCode = -5
    return errorCode

后记

使用状态码处理手动处理,
缺点有两个:

  1. 后续处理麻烦
  2. 业务逻辑不清晰

这样的做法,可以做,但不是一个长久有效可行的方式。
readFile()业务分散在各处,不清楚,各处的耦合性很大。

异常处理机制

每次都这么处理,是不是有一种简单的通用的方法,可以处理这样的情况呢?

异常处理机制,出现了

try:
    f = open(file, 'r')
    content = f.read()
    # do with content
except:
    haveExcept()
finally:
    f.close()
简化版
with open(file, 'r') as f:
    # do with f
    f.read()

写在后面的

异常处理从一开始的状态码的使用到后来的异常处理机制的成立,
更多的是思维上的转变,一种框架式的思维。

相关文章

网友评论

    本文标题:状态选择,异常处理,框架

    本文链接:https://www.haomeiwen.com/subject/olaogxtx.html