美文网首页Python
动态一时爽,重构火葬场?

动态一时爽,重构火葬场?

作者: Donald_32e5 | 来源:发表于2019-03-14 16:19 被阅读0次

    江湖有言:”动态一时爽,重构火葬场“,更有人戏言:”动态一时爽,一直动态一直爽😂“

    • 动态语言大部分错误只有在程序运行的时候才能发现,编译过程中只能发现简单的语法错误
    • 这些问题在大型项目上显得更为突出,所以遵循代码规范,Code Review就显得尤为重要了

    为了重构时,少掉些头发,在开发的时候就得注意了

    1、语法层面规范代码:PEP484 提供了类型提示(Type Hint),在定义函数时,可以指定返回值类型,参数类型
    • 定义一个函数接受任何类型:
    def my_sum(num):
       return 1 + num
    
    my_sum(1)
    my_sum('name')
    

    程序运行前,不会有任何提示,尽管我们知道int和str不能相加

    在Python 3.5中,用Type Hint 写法如下

    def my_sum(num: int) ->int:
        return 1+num
    
    

    上面就是静态的写法,多了:int-> str,前者用来说明参数的类型,后者指函数的返回值类型,在写代码时,IDE也会有提醒

    规范1.png 规范2.png
    2、另一个就是编写测试了,如果重构前和从重构后,测试都可以完美运行,那基本就ok了
    单元测试用到的框架是自带的unittest
    • 1、这个框架用起来还是很简单的,测试语句一般都是比较简单,因为太复杂,本身可能就有bug

    • 2、框架提供两个方法,分别在开始测试前执行和在测试后执行:setUptearDown

    • 3、基本使用断言方法的返回值。

    • 4、常用方法就贴个图吧。高级用法 后续再补吧


    相关文章

      网友评论

        本文标题:动态一时爽,重构火葬场?

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