程序员必读之作:重构
发布于 2024-10-03
825
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
麦哲思科技任甲林
扫码关注公众号
扫码阅读
手机扫码阅读
文章讲述了作者计划在十月一后进行《设计模式》的培训,计划从重构开始讲起,针对C和C++的新手。为此,作者决定系统地阅读《重构》这本书,虽然很久前就买了这本书并大致读过,但这次是认真细读。作者之前将这本书借给了表弟,一个编程新手。
作者提到一位有十多年经验的老程序员朋友,曾评价这本书虽然不错,但有些罗嗦。作者同意这一点,并认为对于经验丰富的程序员来说,书中的许多重构方法会让他们产生共鸣,因为这些方法在他们的实践中已经存在,只是没有系统地整理和清晰地表达过。作者对Martin Fowler能如此系统地阐述编程的道理表示钦佩。
作者回忆起大学时读过的一本书《程序设计风格》(《The Elements of Programming Style》),该书总结了62条关于程序设计风格的建议。作者认为,《重构》与《程序设计风格》相得益彰,一个从形式上讲解如何设计程序,一个从内容上讲解如何设计程序,两者都是经典著作,对于想要成为职业程序员的人而言,都是必读之书。
麦哲思科技任甲林
麦哲思科技任甲林
扫码关注公众号
麦哲思科技(北京)有限公司总经理 敏捷性能合弄模型评估师 认证的Scrum Master 认证的大规模敏捷顾问SPC CMMI高成熟度主任评估师 COSMIC MPC,IAC 成员,中国分部主席
425 篇文章
浏览 634K
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
麦哲思科技任甲林的其他文章
快速学习COSMIC方法之十一:如何识别输入?
在COSMIC方法中,功能处理可拆分为四种数据移动:输入,输出,读,写。数据移动是最小的、不可再拆分的、软件内部的动作。在数据移动中包含了算术运算如加减乘除,关系运算如等于、不等于,逻辑运算如与或非,这些数据运算都是不计算功能点的。 在识别功能处理的输入(包括触发输入即第一个数据移动,也包括其他输入)时要注意如下的问题: 1 每个数据移动仅能移动一个兴趣对象的一个数据组。 ...
系统测试成功的关键点
(1)系统测试人员参与需求评审 (2)定义明确的测试需求 (3)测试人员要在需求阶段介入项目组 (4)系统测试用例要覆盖所有的场景 (5)建立产品需求与测试用例的跟踪矩阵 (6)评审测试用例 (7)利用回归测试工具 (8)
文档恐惧症的分析
一、为什么不愿意写文档?大部分开发人员不愿意编写文档,为什么呢?1.写文档需要花费很多时间。2.不愿意暴露自己的思想被别人评判。3.文档编写得不好、没有充分发挥作用。4.根据实践经验,并非不写文档,项目就干不下去。有很多客户也这样对我讲:“我们原来没有那么多文档,项目照样干,客户也一样验收付款啊!”。5.如果写文档,很容易造成文档与实现不一致,文档的价值大大降低。6.如果写文档,就不能只写一份文档
软件项目的工作量估算方法
(1)经验法Ø DELPHI方法:需要多个专家参与。Ø 类比法:可以一个专家根据历史相似的项目进行估计。(2)模型法Ø 一元线性关系工作量=规模*生产率+C生产率借鉴历史项目的数据,C为一个常量,多数情况下为0。这是最简单的估算模型。Ø 多元线性关系工作量=规模*生产率*复用率*难度系数*人员能力系数*……+ C生产率借鉴历史项目的数据,C为一个常量,多数情况下为0
一次典型的重构
背景描述:近期要去讲一次重构,想收集一个案例,恰好从网上看到了一个朋友写的一个计算算术表达式的C#程序,原程序是计算含括号的正整数表达式的四则运算值。读后,发现问题比较多,而且逻辑有错误,因此对其进行了重构。为简化起间,将程序的功能进行了简化:1 计算的算术表达式只含有+、-、*、/运算2 不含有括号3 表达式的第一个符号是数字4 假定表达式是合法的算术表达式且满足上边的约
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线