首页 > 编程语言 >程序员修炼之道:从小工到专家阅读笔记03

程序员修炼之道:从小工到专家阅读笔记03

时间:2024-06-17 11:35:49浏览次数:13  
标签:本书 03 原则 小工 单元测试 程序员 文档 编写

这本书的适用范围可以从初学者到有经验的程序员再到项目经理,作为一本偏向理论与思想的书,书中不可避免有些假大空的地方,再加上作者写完本书的时间还在1999年,书中的很多方法与标准放在今天也已不再实用。但这些都不能掩盖它的优秀之处,作者曾在本书完成十年后说过,如果这本书是放在现在编写,1999年的那些通用开发原则,在2009年同样有效,假设我们今天才写这本书,会与什么不同吗?表面上可能会有些不同,我们可能会采用不同的编程语言和技术给出不同的案例,但这本书的本质不会变,因为软件是人写的,优秀的程序员都会采用务实和实践的方法,知道的变化越多,掌握事物的基本原则就越重要。所以我也很有幸能通过这本书来纠正自己的一些不良习惯和掌握更好的方法,之后注意在工作的任何方面都需要注重一些基本的原则。看到自己犯过的错误,才让人更相信这是一本经得起时间沉淀的好书。

贯彻全书的一个原则是DRY(Don‘t Repeat Yourself)原则,这也是每个优秀的开发人员必须要遵循的规范,编码过程中任何地方都不要重复,因为重复暂时节省的时间将会给以后的维护使用带来巨大的麻烦,如果发现代码有重复或者违反正交性等原则的地方要立刻找机会重构。这样才能够拥有更快、更好、更强健、更优雅的代码。

然后是关于文档和测试,看过一个段子这样说的,一个程序员最讨厌的事情有两件,一个是别人写代码不写文档,另一个是别人让自己写文档。从这可以看出文档和测试一直是程序员的最大的敌人之一,我个人在这方面习惯也不是很好,虽然会去写文档,但总是觉得编写文档和单元测试集成测试等会影响自己的产出,但在时间允许的情况下这才是对项目最大的负责,也希望每个团队的管理员都能更有先见之明,不要太过于压缩开发阶段的时间,这样才有助于编写更好的文档和单元测试,才会在后面的阶段更省时省力。

标签:本书,03,原则,小工,单元测试,程序员,文档,编写
From: https://www.cnblogs.com/xscya/p/18252039

相关文章

  • 程序员修炼之道:从小工到专家阅读笔记06
    程序需要遵守的实用主义原则。 重复的危害:如果某个事物在代码中重复多次,就可能会在维护过程中带来问题,因为改动了一处而忘记改动另一处造成自相矛盾。这加大了维护难度。要遵守DRY原则,即Don’trepeatyourself。重复通常由这些东西引起:强加的重复,由文档或用户需求决定。这通......
  • 程序员修炼之道:从小工到专家阅读笔记05
    程序员所应该遵循的实用主义原则。 我的源码让猫给吃了:出现错误时,要诚实,不要推诿或者找借口。要提供各种可能的解决方案与后果并与他人沟通,而不是提供借口。 软件的熵:这是著名的破窗户原理。项目中一个小的、无人料理的问题可能带来后续编码时的懈怠,从而造成更大的问题。不......
  • PHP 程序员转 Go 语言的经历分享
    大家好,我是码农先森。之前有朋友让我分享从PHP转Go的经历,这次它来了。我主要从模仿、进阶、应用这三个方面来描述转Go的经历及心得。模仿是良好的开端,进阶是艰难的成长,应用是认知的提升。希望我的经历对大家能有所启发。模仿著名艺术家毕加索说过「模仿是人类一切学习的......
  • 失败的程序员生涯系列(3)——第一次搭建商业化系统
             拿着800月薪的编辑岗,干了俩天的编辑活,开始接手开发团购网站。从现在的角度上来讲,有点不可思议,但这确实就是入门技术的起点。我之前在学校里面的技术基础,都是asp的网站居多,ASP网站最大的好处就是没有mysql概念,直接就是ACCESS,在OFFICE套装里面,是可以直接勾选这......
  • 失败的程序员生涯系列(2)——最低的工资
            当我获得了我人生的第一份工作,我的心态和情绪直接稳定下来。可能很多人觉得800的月薪很少。确切的说,确实很少,做一个横向对比,我的大学同班同学毕业去比亚迪的3500左右,拿到了美的offer的4500左右。        但是工作最大的价值有俩个,第一点,哪怕是一份非......
  • Python数据分析与建模库-03数据分析处理库Pandas-1.数据读取
    该视频主要讲述了pandas库在数据处理中的重要性。首先介绍了pandas库是基于numpy库封装了一些操作,简化了数据处理过程。然后通过读取CSV文件的例子,演示了如何使用pandas的read_csv函数将数据读入,并展示了数据类型和数据格式。接着介绍了pandas库中的DataFrame格式,它可以看作......
  • java学习03
    类型转换强制类型转换自动类型转化自动类型转换会从低到高转换类型转换注意点1、不能进行布尔类型的转换2、转化时会有精度和溢出的问题变量java变量类型名称值typevarName[=value]局部变量在方法里面实例变量在方法外在类里面类变量带static时可直接在方法里使......
  • Hetao BS0036 负负得正 题解 [ 黄 ] [ 组合数学 ]
    很简单的板子题,本来想放个思维难度高一点的黄,结果这把是板子局。部分分:第一个部分分就是暴力枚举。第二个部分分对\(\texttt{b}\)的位置进行枚举,然后做一下前缀和,统计一下。第三个部分分就接近正解了,是留给会正解但不会快速幂求组合数的。第四个部分分是给没有优化枚举\(......
  • 冲刺03
    这是我们的任务看板我负责了安卓端页面部分activity_child_main代码如下:<?xmlversion="1.0"encoding="utf-8"?><androidx.drawerlayout.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http:/......
  • 03构建之法阅读笔记之三
    第八章需求分析需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。但需求分析是软件开发中非常重要的......