美文网首页
编写高质量代码-读书笔记(一)

编写高质量代码-读书笔记(一)

作者: jxy2018 | 来源:发表于2019-03-01 19:30 被阅读0次


    代码规范

    const

    const集中到一个文件,并且使之只读不改。

    assert

    1. 在执行时,使用 python -O assert 可以禁止断言。
    2. 断言应用在正常逻辑总为真的情况,不要滥用。如果本身就会抛出python异常的就不要用断言,如类型不匹配,越界或除0之类的
    3. 用户的输入用条件来判断,然后抛出异常,而非assert
    4. 在函数调用后,确认返回值是否合理,可以用断言

    性能

    数据交互

    数据交换 x,y = y,x 比中间变量性能更高

    or/and顺序

    对于or和and,or前面应该加为True频率比较高的,而and前面应该加True频率比较低的

    yield lazy执行

    yield (lazy执行, 可以写无限循环而不会进入死循环,只有需要计算的时候才产生结果)

    def seq():
        i = 0
        while True:
            yield i
            i += 1
    
    seqs = seq()
    print(seqs)
    i = 0
    for k in seqs:
        print(k)
        i += 1
        if i > 5:
            break
    

    执行结果:

    0
    1
    2
    3
    4
    5
    

    enumerate

    使用enumerate来获取迭代索引和值,它也是lazy的,而且简洁。

    安全性

    eval

    出于安全性的考虑,尽量不要使用eval或os.system,因为用户有可能传进来一些不好的操作,无法控制。

    相关文章

      网友评论

          本文标题:编写高质量代码-读书笔记(一)

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