尽量用辅助类维护程序的状态,而不是用字典或者数组
公交车上看后整理的,如有疑问,欢迎留言讨论。
起因是这样的需求:
根据输入的名字和成绩,计算平均成绩。
然后根据输入的名字和成绩以及学科,分别计算平均成绩。
然后根据输入的名字和成绩以及学科和权重,分别计算平均成绩。
因为需求不断的变化,导致维护成本不断的提高。
这个过程中:
1.如果用字典的话,会导致业务逻辑变得非常复杂,难以理解,而且如果后面加的东西越多,会导致for循环多层嵌套, 代码的维护成本会非常高。
2.考虑简单的方法,可以使用nametuple的方式,但是nametuple有一个问题,没有默认值,而且nametuple在值多的时候,同样难以维护,可能使用者不明白参数的含义而导致误用。。
3.最终好的解决办法,就是创建辅助类工具,这样,初期的代码量可能很大,但是后期再增加需求,只用增加相应的函数即可。
还学到的一些知识点: