python 装饰器
admin
2023-07-31 00:46:32
0

1、必备

1234567891011121314 #### 第一波 ####def foo(): print \’foo\’ foo #表示是函数foo()   #表示执行foo函数 #### 第二波 ####def foo(): print \’foo\’ foo = lambda x: x + 1 foo() # 执行下面的lambda表达式,而不再是原来的foo函数,因为函数 foo 被重新定义了

2、需求来了

初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功能即可。如下:

123456789101112131415161718192021222324252627 ############### 基础平台提供的功能如下 ###############  def f1(): print \’f1\’ def f2(): print \’f2\’ def f3(): print \’f3\’ def f4(): print \’f4\’ ############### 业务部门A 调用基础平台提供的功能 ###############  f1()f2()f3()f4() ############### 业务部门B 调用基础平台提供的功能 ###############  f1()f2()f3()f4()

目前公司有条不紊的进行着,但是,以前基础平台的开发人员在写代码时候没有关注验证相关的问题,即:基础平台的提供的功能可以被任何人使用。现在需要对基础平台的所有功能进行重构,为平台提供的所有功能添加验证机制,即:执行功能前,先进行验证。

老大把工作交给 Low B,他是这么做的:

1 跟每个业务部门交涉,每个业务部门自己写代码,调用基础平台的功能之前先验证。诶,这样一来基础平台就不需要做任何修改了。

当天Low B 被开除了…

老大把工作交给 Low BB,他是这么做的:

1 只对基础平台的代码进行重构,让N业务部门无需做任何修改

12345678910111213141516171819202122232425262728293031323334353637383940 ############### 基础平台提供的功能如下 ###############  def f1():    # 验证1    # 验证2    # 验证3    print \’f1\’ def f2():    # 验证1    # 验证2    # 验证3    print \’f2\’ def f3():    # 验证1    # 验证2    # 验证3    print \’f3\’ def f4():    # 验证1    # 验证2    # 验证3    print \’f4\’ ############### 业务部门不变 ############### ### 业务部门A 调用基础平台提供的功能###  f1()f2()f3()f4() ### 业务部门B 调用基础平台提供的功能 ###  f1()argin-bottom: 12px; font-size: 13px !important; line-height: 15px !important;\”>

1234567891011121314 #### 第一波 ####def foo(): print \’foo\’ foo #表示是函数foo()   #表示执行foo函数 #### 第二波 ####def foo(): print \’foo\’ foo = lambda x: x + 1 foo() # 执行下面的lambda表达式,而不再是原来的foo函数,因为函数 foo 被重新定义了


2、需求来了

初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功能即可。如下:

123456789101112131415161718192021222324252627 ############### 基础平台提供的功能如下 ###############  def f1(): print \’f1\’ def f2(): print \’f2\’ def f3(): print \’f3\’ def f4(): print \’f4\’ ############### 业务部门A 调用基础平台提供的功能 ###############  f1()f2()f3()f4() ############### 业务部门B 调用基础平台提供的功能 ###############  f1()f2()f3()f4()

目前公司有条不紊的进行着,但是,以前基础平台的开发人员在写代码时候没有关注验证相关的问题,即:基础平台的提供的功能可以被任何人使用。现在需要对基础平台的所有功能进行重构,为平台提供的所有功能添加验证机制,即:执行功能前,先进行验证。

老大把工作交给 Low B,他是这么做的:

1 跟每个业务部门交涉,每个业务部门自己写代码,调用基础平台的功能之前先验证。诶,这样一来基础平台就不需要做任何修改了。

当天Low B 被开除了…

老大把工作交给 Low BB,他是这么做的:

1 只对基础平台的代码进行重构,让N业务部门无需做任何修改

12345678910111213141516171819202122232425262728293031323334353637383940 ############### 基础平台提供的功能如下 ###############  def f1():    # 验证1    # 验证2    # 验证3    print \’f1\’ def f2():    # 验证1    # 验证2    # 验证3    print \’f2\’ def f3():    # 验证1    # 验证2    # 验证3    print \’f3\’ def f4():    # 验证1    # 验证2    # 验证3    print \’f4\’ ############### 业务部门不变 ############### ### 业务部门A 调用基础平台提供的功能###  f1()f2()f3()f4() ### 业务部门B 调用基础平台提供的功能 ###  f1() /span>f2()f3()f4()

过了一周 Low BB 被开除了…

老大把工作交给 Low BBB,他是这么做的:

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...