程序员修炼之道-注重实效

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本篇文章是阅读《程序员修炼之道——从小工到专家》第一章 “注重实效的哲学” 的笔记。有了一些开发经验后再看这本书会比较有感触,本书第一章讲了一些对程序员最基本的要求,如果你正在进行职业规划,那么这本书有很好的参考意义。下面我结合自己的经历聊聊第一章的内容。

责任

责任是做一切事情得前提,小到对自己的代码,大到人生规划,我想这也是作者把它作为第一章第一段的原因。责任是你主动承担的东西,当然如果这件事超过了你的控制范围,你有权不对它负责。否则的话你需要切实负起责任,即使过程中犯了错误也应该坦诚承认,而不是找各种借口。我觉得大部分程序员都会对自己的代码有很强的的责任心,毕竟它就像孩子一样,当然责任心太强往往会导致不愿承认一些错误。其实在职场中领导也比较喜欢那些能够主动承认错误的员工,谁也不能保证不犯错误,但对于犯了错误藏着掖着甚至乱甩锅的员工,领导可能更不放心交付他更重要的任务。

软件的熵

熵是一个物理学的概念,指的是某个系统中 “无序” 的总量,当软件中的无序增长时,我们称之为 “软件腐烂”。至于什么情况会导致软件腐烂,作者举了一个 “破窗户” 的例子,也就是我们常听说的 “破窗理论”。简单来说,一扇破窗户,长时间不修理,会给人们带来一种废弃感。于是又破了一扇窗户,人们开始乱扔垃圾,乱涂乱画,最终房屋的结构遭到严重破坏,且超出了业主的修理程度,从而废弃感变成了现实。破窗理论启发了警察部门对一些轻微的案件也严加处理,防止大案件的发生。

在软件开发中,低劣的设计、糟糕的代码和低质的文档等,都是 “破窗户”,应该看见一个修一个,不能让这种无序的状态越来越严重,导致软件腐烂。当然我们可能没有时间、精力去清理所有的 “破窗户”,我们可以加一些 TODO,或者集中整理成文档,拉一个专项专门处理。所以说,没有不好的程序员,只有不好的设计、代码和文档。

石头汤与煮青蛙

我们开发过程中,需要其他团队配合的时候,往往容易出现其他团队对我们所做的事情的漠视、拖延。这时候比较好的做法是,我们需要先把自己的想法进行落地,设计并开发出一个初版,有一些成就积极与大家分享。当其他人看到这个东西正在走向成功的时候,别人就会愿意帮助我们,最终共同协作完成项目,当然成果也要与大家共享。为了说明这个问题,作者讲了一个故事,有三个饥饿的士兵,路过一个村庄,由于多年的战乱,村民的食物也很匮乏。于是,士兵们便煮了一锅水,里面放了几块石头。士兵告诉惊讶的村民说这是 “石头汤”,如果放一点胡萝卜会更鲜美,一个村民就跑开去拿胡萝卜。士兵又说放点土豆会更好,另一个村民回去拿土豆。接下来不断有人拿东西,食物变得越来越多,汤越来越丰盛,最终士兵和村民一起享用了一顿美餐。这就是 “石头汤” 的案例。当然,工作中也会碰到有些团队就是不配合,就像有些村民就是不愿意把自己私藏的东西拿出来。这也没办法,或许别人有更重要的事情去做。至少这个案例给了我们一个解决这类问题的新视角。

从村民的角度来,这个案例也告诫我们视野不要太狭窄,要关注到别人做的事情,如果是一件值得去做的事情就要积极主动地参与进去,留心大图景。不要固执地只负责自己那一块的内容,不要做温水里的青蛙。所以,石头汤和煮青蛙看似两个独立的案例,却有一定的联系。

用户的参与

完美的软件需要用户的参与,因为通常我们是为别人编写软件。除了软件的功能需求,还要关注交付时间、软件质量等需求,无视用户的需求,一味地追求新特性、粉饰代码并不是有职业素养的做法。以我所从事的大数据工作为例,其实我们的用户就是运营、产品,如果无视他们的数据需求,一味地增加一些酷炫的指标,可能对分析产品并没有什么帮助,显然这样做是不对的。同样,为了交付期限、功能需求而无视工程质量的做法也不可取。所以,我们经常需要在满足用户需求与完美的工程实践之间权衡。

知识资产

我们经常听到说程序员是吃青春饭的,也就是说知识资产是有时效性的。随着我们的知识价值降低,我们对公司或者客户来说,我们的价值也在降低。为了阻止这样的事情发生,我们需要像对待金融资产一样,对待我们的知识资产。每年学一门新编程语言、每个季度读一本书(定期投资自己)。多接触了解其他的技术栈,比如:做前端的了解后端技术,做大数据的了解算法(多元化的投资)。关注新技术,在新技术流行前就花时间研究,当它流行时我们已经领先了大部分人(低买高卖)。要经常评估自己掌握的技术在市场上中的地位,如果已经凉了,需要果断放弃把经历放到新的方向(周期性地重新评估资产)。我们经常拿老外来反驳程序员吃青春饭,看完这部分内容才发现,原来老外把知识资产当做了金融资产,所以才能保证自己的价值。

交流

虽然程序员生活中不善言谈,但在工作中往往需要大量的沟通,小到接口协议,大到架构设计。交流一方面是为了推进自己的工作,另一方面是为了输出自己的观点,建立自己的影响力。同时交流的过程需要注意一些细节,比如:了解听众,选择沟通的时机,选择沟通的风格,沟通前注意自己的思路、文档是否清晰,交流中要倾听别人意见、让听众参与,沟通后及时总结、回复他人。

小结

本篇内容各个小结看似比较独立,但其实是有一定的联系的。首先责任是后续所以内容的一个前提。其次,作为程序员我们要把自己的工作做好,“软件的熵” 告诉我们要立足于我们自己的工作,要解决自己软件里的的“破窗户”。当我们把自己的事情做好,需要别人参与到我们的软件中,组成一个大的协作体的时候,需要我们怎么去协作,便是 “石头汤与煮青蛙” 一节的内容。我们开发软件,最终要解决用户的需求、为用户创造价值,所以这个过程要有 “用户的参与”。虽然目前我们开发出了让用户满意的产品,但过程中我们用到的知识有时效性的,“知识资产” 这节告诉我们如果让自己有价值。最后提到的 “交流” 是为了让我们上面所有的努力能够输出,建立自己的影响力。

 

欢迎关注公众号「渡码」,我将分享更多优秀书籍的内容

 

程序员修炼注重实效程序员 程序员修炼–从小工到专家》 序言:小编写本文的最主要的目的是为了自己以后的路上走的更加通畅所作的一点努力,成为一个注重实效程序员,多思考、多接受新的东西、贵在坚持,加油! 注重实效程序员的特征: 早期的采纳者/快速的改编者:你具有技术上和技巧上的直觉,你... 阅读详情

相关推荐

程序员修炼 第一章 注重实效的哲学

注重实效程序员:是他们的处理问题、寻求解决问题的方案时的态度、风格、哲学。 注重实效的编程源于注重实效的思考和哲学。 目录: 我的源码让猫给吃了 软件的熵 石头汤与煮青蛙 足够好的软件 你的知识资产 交流! 1、我的源码让猫给吃了 责任 责任是你主动担负的东西。你承诺确保某件事情正确完成,但你不一定能直接控制事情的每一个方面,除了尽你所能以外,你必须分析风险是否超出了你的...

qq_42680327的博客 552

程序员修炼 - 从小工到专家》吐血解读

本篇文章是对《程序员修炼:从小工到专家》一书的总结和解读。 该书作者是 Andrew Hunt 和 David Thomas。他们都是敏捷宣言的17个创始者之一。Andrew还是敏捷联盟(Agile Alliance)的创始人。David 则是著名的 DRY(Don’t Repease Yourself) 一词的发明者。这本书也广泛出现在各类计算机推荐书单之中,其受欢迎程度不言自明。 该书目前有两个版本,我阅读的是第一版: 第二版是这样的: 两版内容稍有不同。 刚毕业那会读过一遍,但有很多地方没看明

博文视点(北京)官方博客 6237

【读后感】程序员修炼——通向务实的最高境界

最近读了一本书——《程序员修炼》,颇有感悟。你别被这个名字吓到了,程序员修炼,听起来很悬,其实非常实用。这本书,就是一个清单手册,有100条,每一条都是一个使用原则。如果你去读的话可能都不相信这是程序员写的,字里行间透露着幽默感。就比如其中有一节的标题是“我的源码被猫吃了”,这不是告诉你程序员养猫会咬坏键盘,其实是说,如果某一天你不小心把代码删掉了,别着急找借口甩自己的猫,而是要积极的寻找替代方案,这样幽默感在书里到处都是。我读的是第二版。这本书的出版日期是2020年4月,第一版是在20年前出版的

Friday 908

程序员修炼(每周看一遍,迷茫时看一遍)

一、代码质量 1.用自动化提升工作效率 使用脚本将简单重复的工作自动化,能有效的提高工作效率,shell python 脚本的熟练使用,对工作是锦上添花 2.逻辑清晰的代码,可读性和可维护性好 代码逻辑简单明了,条理越清晰,代码隐藏的bug就越少,后续维护起来也越简单。 代码逻辑混乱不清,条理越混乱,势必会造成后续的开发中犯错和维护中的bug产生 3.多阅读同事的代码 每...

脚踏实地,不断突破自我,每天有收获就OK 2897

程序员修炼》读书笔记

没有最好的解决方案,无论是工具、语言还是操作系统;只在特定的环境下才有所谓更合适的系统。 这就让务实主义有了用武之地。你不应该拘泥于任何特定的技术,而应该拥有广泛的背景和经验基础,以便在特定的情况下选择合适的解决方案。你的背景来自对计算机科学基本原理的理解,而你的经验来自广泛的实际项目。理论结合实践会让你变得强大。

拉里小猪的博客 1277

程序员修炼 pdf_程序员修炼-注重实效

本篇文章是阅读《程序员修炼——从小工到专家》第一章 “注重实效的哲学” 的笔记。有了一些开发经验后再看这本书会比较有感触,本书第一章讲了一些对程序员最基本的要求,如果你正在进行职业规划,那么这本书有很好的参考意义。下面我结合自己的经历聊聊第一章的内容。责任责任是做一切事情得前提,小到对自己的代码,大到人生规划,我想这也是作者把它作为第一章第一段的原因。责任是你主动承担的东西,当然如果这件事超过...

weixin_39539807的博客 431

【七日阅书】1.注重实效程序员修炼—从小工到专家》

目录一、写在前面二、注重实效1. 负责2.破窗/图景/质量3.管理你的知识资产4.交流5.不要重复自己/正交性/可撤销性6.快速实现(曳光弹)/原型/估算7.领域语言三、小结 一、写在前面 首先,这是我在2022年写的第一篇博客,我把他献给读书。 套用最近比较流行的一句话『读书破万卷』,可见书籍的力量还是足够强大。 这本《程序员修炼—从小工到专家》是一本修炼内功的书,常读常新。 我通过文字记录和分享个人对于这本书的理解,希望能够持续成长。 二、注重实效 本书的前两章都在聊"注重实效",分别是哲学和途径,

Code Metaverse 1494

程序员修炼 - 注重实效

文章目录1.注重实效程序员1.1 越出直接的问题,把问题放到更大的语境中1.2 对所做的每件事情负责1.3 认识变化1.4 理解工作环境1.5 知识资产1.6 注重交流。 1.注重实效程序员 注重实效程序员的特征是什么?我们觉得是人们处理问题、寻求解决方案的态度、风格、哲学。 1.1 越出直接的问题,把问题放到更大的语境中 没有更大的语境,如何做出明智的妥协和有见识的决策。 1.2 对所做的...

qq_20013637的博客 277

程序员修炼关键点总结和个人感悟

程序员不得不读的书前二就是 《程序员修炼》和《代码大全》 大学时曾读过《程序员修炼》,最近换工作转正答辩前要求重新读此书 以下是精华提炼,和个人总结 (一)注重实效的哲学 (二)注重实效的途径 (三)基本工具 (四)注重实效的偏执 (五)弯曲或折断 (六)当你编码时 (七)在项目开始之前 (八)注重实效的项目 (一)注重实效的哲学 对于我们的缺点—还有我们的无知和我们的错误—我们必须诚实 正确认识已经发生的错误,对自己的职业生涯负责。对于已经发生的错误,重要的是如何处理来挽回局面,这样也

qq_16546829的博客 870

程序员修炼-注重实效的哲学 A Pragmatic Philosophy

      注重实效的意思并非只关注眼前的工作、利益,而是关注更大图景,并在做每个细节中体现出来。 注重实效程序员的特征是什么?我们觉得是他们处理问题、寻求解决方案时的态度、风格、哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注意更大的图景。   具体是他们负责任、掌握大局、注意并接收变化、尽量生产足够好的软件、持续积累发展,并且会交流。 第1章 注重实

benewu的专栏 1302

程序员修炼--注重实效的途径

这段时间忙着做算量大赛的工程,弄得有点忙乱,又有一段时间没有好好学习了。发现自己在多目标多任务的时候很难集中精力,哪位达人告诉我有没有好的方法来解决呢。 这个月的学习任务是看完这本书,到目前为止快看完第四章了,要好好冲一把了,同志哥,要加油啊! 这一章主要是讲了注重实效的一些途径和原则,感觉这里面说的内容跟《代码大全》和《Clean C...

weixin_30405421的博客 135

程序员修炼》笔记——注重实效的哲学

注重实效程序员的特征:处理问题、寻求解决方案时的态度、风格、哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注意更大的图景。 软件熵(Software entropy)是指软件的趋向,随着时间的逝去,维护变得困难和昂贵。一个经历持续修改的软件系统,例如有新的功能添加到它的最初设计上或适合于最新的技术环境,将随着它的增长最终变得更加复杂和紊乱,失去了它的最初设计结

老懒猫的博客 274

注重实效的哲学(程序员修炼摘录一)

<br /> 注重是小的程序员的特征是什么?我们觉得是他们处理问题,寻求解决方案时的态度,风格,哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法主义更大的图景。毕竟,没有这样的更大的语境,你又怎能注重实效?你又怎能做出明智的妥协和有见识的决策?<br />  他们成功的另一关键是他们对他们所做的每件事情负责,关于这一点,我们将在”我的源码让猫吃了“中加以讨论。因为负责,注重实效程序员不会坐视他们项目土崩瓦解。在”软件的熵“中,我们将告诉你怎样使你的项目保持整洁。<br /> 

shandaliuyan的专栏 641

读《程序员修炼

  《程序员修炼》原作者:Andrew Hunt & David Thomas  译者:马维达 电子工业出版社    这本书已经买了好久,但一直没看(没看过的书在我书架上还有好多),不过是偶然间从书架上拿下,翻看了几页,结果我再也放不下手。于是,花了约半月的空闲时间,断断续续将此书读完。    此书还有一名:《从小工到专家》,我现在明显是小工,并且可能还是不熟练的那种。倒没有奢求看完这本书就变

石头记 3081

程序员修炼- 注重实效的参考指南

终于读完了《程序员修炼》,全书围绕注重实效程序员展开思考,逐步分析了开发中需要遵守的准则。本文记录其中一些指南。 原文 1、关心你的技艺 Care About Your Work如果你不在乎能否漂亮地开发出软件,你又为何要耗费生命区开发软件呢? 2、思考!你的工作 Think!About Your Work关掉自动驾驶仪,接管工作。...

weixin_34292287的博客 184

程序员修炼阅读笔记01

我阅读了老师推荐的《程序员修炼》的第一章注重实效的哲学。 首先通过阅读本书的前言和序,对本书的主要内容有了大概的了解,这本书将告诉我怎样以一种我们能够遵循的方式编程。 注重实效程序员的特征是他们处理问题、寻求解决方案时的态度、风格、哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的语境中,总是设法注意更大的图景。 我的代码让猫吃了提出注重实效程序员对对他或她的职业生涯负责,...

weixin_33736832的博客 107
上一篇: 百亿级数据处理优化
下一篇: StackOverflow 周报 - 这些高关注的问题你是否都会
渡码
博客等级 码龄14年 31粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值