当前位置:
首页 > Python基础教程 >
-
C#教程之C# BAD PRACTICES: Learn how to make a good code by(3)
25 }
这是我们的新的重构的代码:
1 public decimal ApplyDiscount(decimal price, AccountStatus accountStatus, int timeOfHavingAccountInYears) 2 { 3 decimal priceAfterDiscount = 0; 4 priceAfterDiscount = _factory.GetAccountDiscountCalculator(accountStatus).ApplyDiscount(price); 5 priceAfterDiscount = _loyaltyDiscountCalculator.ApplyDiscount(priceAfterDiscount, timeOfHavingAccountInYears); 6 return priceAfterDiscount; 7 }
总结
在本文中,代码被极其简化了,使得所有的技术和模式的解释更容易了。它展示了如何解决常见的编程问题,以及使用良好的实践和设计模式以适当、干净的方式解决这些问题的好处。
在我的工作经历中,我多次在这篇文章中强调了不良的做法。它们显然存在于许多应用场合,而不是在一个类中,如在我的例子中那样,这使得发现它们更加困难,因为它们隐藏在适当的代码之间。写这种代码的人总是争辩说,他们遵循的是简单愚蠢的规则。不幸的是,几乎所有的系统都在成长,变得非常复杂。然后,这个简单的、不可扩展的代码中的每一个修改都是非常重要的,并且带来了巨大的风险。
请记住,您的代码将长期存在于生产环境中,并将在每个业务需求更改上进行修改。因此编写过于简单、不可扩展的代码很快就会产生严重的后果。最后一点是对开发人员有利,尤其是那些在你自己之后维护你的代码。
如果你有一些问题根据文章不要犹豫联系我!
PS:
根据文章敲的源代码:
链接:https://pan.baidu.com/s/1i7BH6Krl_vPnwtBCJjpQ8w 密码:9spz
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式