我是如何把 行代码重构成 行的.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我是如何把 3000 行代码重构成 15 行的 2021-12-08 点击上方 关注,?星标或置顶一起成长 免费送 1024GB 精品学习资源? 来源:/marvin/p/4133973.html 把三千行代码重构为15行 少用代码生成器 不要反复创造轮子 等你无法重构的时候再考虑重写 学会单元测试,培育你的重构意识 所谓重构 假如你认为这是一个标题党,那么我真诚的恳请你急躁的把文章的第一部分读完,然后再下结论。假如你认为能够戳中您的G点,那么请顺手点个赞。 把三千行代码重构为15行 那年我刚毕业,进了现在这个公司。公司是搞数据中心环境监控的,里面充斥着嵌入式、精密空调、总线、RFID的概念,我一个都不懂。还好,公司之前用Delphi写的老客户端由于太慢,然后就搞了个Webform的替代,恰好我对Asp.Net还算了解,我对业务的不了解并不妨碍我称成为这个公司的一个程序员。小公司也有小公司的好,人少,进去很快担任代码开发。我当然也就搞这个数据中心智能管理系统啦。 这个系统格外的浩大,尤其牛逼的是支持客户端组态,然后动态生成网页,数据还能通过Socket实时监控(那时我还真就不懂网络编程)。这个对于当时的我来说,真真是高、大、上呐!!当时跟着了解整个系统大半个月才算能够调试,写一些简约的页面。 在维护系统的过程中,时不时要扩展一些功能,也就接触了下面这个类: 看到没有,就是当年最最流行的三层架构的产物,对于刚出茅庐的毛头小子来说,这是多么专业的文件头注释,还有反射也就算了,这构造函数还能静态的,还能私有的?那时刚接触这么高大上的代码的我,霎时给跪了! 但是,类写多了,我就感觉越来越别扭,就是下面这段代码: 添加一个表,除了要改接口、要改DAL、要改BLL之外,还得在这个工厂类添加一个方法,真真是累到手抽筋,即便有当时公司了的G工给我推举的神器——动软代码生成器,这粘贴复制的几遍,也是让我感觉到特别繁琐,有时候打键盘略微累了点,还把复制出来代码改错了,你妹的,莫非这就是程序员该干的事情,不,确定不是!我想起了一句至理名言:当你觉得代码反复消灭在程序中的时候,就应当重构了。是的,在这句话的指点下,我开头了折腾,打算挑战这个高大上的代码,现实证明,思想的力气是无穷的。 那么,怎样修改呢,认真观看之后,发觉其中className的生成跟前往的类型格外类似,只是一个是类名,一个是字符串,这两者之间应当能够关联起来。于是google了一下(当时GFW还没猖獗起来哈),隐模糊约就找到了“反射”这两个字,深化了解之后,确定可以完成。 接下来,就是前往的类型了,前往的类型并不固定,但是好像很有规律……这个好像好像在哪里见过,对了,模板,C++课程上有讲过的,于是再次google,了解到了C#中使用了泛型代替了C++中的模板。在学习完泛型和反射之后,并参考了网上的一些文章,我捣鼓出了下面的代码: 没错,就是它了,三层架构年月最流行的工厂类…… 看着原来滚十几屏幕的代码,变成了十多行的代码,真是爽到了骨子里去了,太洁净了!独一让我担忧的是,我进公司的时候,帮忙整理公司申请软件著作权都是需要代码量的,依据代码多少行来评估软件的大小,万一老板晓得了我非但没有帮公司添加代码量,还削减了,会不会马上把我开掉?我没敢给我们老板呈现我优秀的成果,所幸,这段代码非但没有出过任何问题,还避开了以前同事老是在新增一个类之后,把代码复制过来,但是没有正确修改的问题,大大提高了效率。虽然,我没敢大事宣布我的劳动成果,但是这次成功的修改,则彻底让我走上了代码重构的不归路。 看到这里,大家应当晓得这个案例能否真实的了吧。我信任,从08年开头的码农们,看到这品种似的代码确定不比我少。那么,我想告知你们的是什么呢? 要在编程过程中多思考 编程的思想很重要,请多看点经典的书 从小处着眼,渐渐重构,尤其在应对一个大型的系统 当反复消灭的时候,你应当考虑重构了 粘贴复制的代码越少,你的系统越稳定 少用代码生成器 我们来分析一下,为什么我之前的前辈会写出上面的代码。我归结起来有以下几点: 由于使用了动软代码生成器,生成代码便利,就没多想了。 三层架构的概念倒是了解了,但是没有去深化思考就拿来应用 遇到反复的代码,没有重构的概念,这是思想的问题——思想比你的力量重要 至今为止,还是很多人使用代码生成器,那么我们应当怎样对待这个问题呢。我认为,代码生成器的确可以削减你不少工作,但是少用,那些反复性的工作,除了部分的确是没有方法的,其他大部分都是可以通过框架处理的,举例来说,像三层架构,真正需要用到代码生成器的,也就是Model类而已,其他的完全可以在框架中完成。因而你要竭尽全力的思考怎样在框架中来削减你的反复性工作,而不是依靠于代码生成器。 另外,假如你还是在用相关的代

文档评论(0)

bob157641554 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档