《程序员修炼之道:从小工到专家》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的故事、有思想性的例子及有趣的比较,全面说明了软件开发的许多不同方面的实践和陷阱。
本书的第一节:我的源码让猫给吃了。开发过程中出现未曾预料的技术问题,交付晚了等情况,这些是无法避免的。发生了,我们就要尽可能想方设法地职业的去处理它们。程序员这个职业需要诚实和坦率,要敢于承认自己的错误。要对担负的东西负责,如果某些东西真的超出了你的控制范围可以不处理,需要尽早提出这个不可控的点。自己职责所在的事情就需要为其结果负责。当结果不达标,比如磁盘垮了,但你却没有备份代码,那这就是你的错。不要为出错的情况找借口,像对老板说"我的源码让猫给吃了”,对问题没有任何帮助,而要向他们提供可行的解决方案,做什么能够最大的挽回局面。
第二节:软件的熵。熵是一个热力学概念,指的是在某个系统中的“无序”的总量,热力学定律指出宇宙中的熵总是倾向于最大化。软件工程里中也存在这么一个定律,工程越庞大,代码的“无序”状态越严重。破窗理论指出,当一个东西本身就破旧时,不但没人爱惜,还会朝他仍石头,导致更多破窗。软件开发中也一样,如果我们项目留有很多“破窗户”就像低劣的设计、错误的决策、糟糕的代码,之后接手的人也会倾向于是它变得更糟糕。如果代码很漂亮,你自己以及之后接手的人,都可能会格外注意,不把它弄脏的。所以我们应该尽早处理工程中遗留的问题。
第三节:石头汤煮青蛙。三个士兵返乡,路上饿了,路过一个村子,想跟村民借点吃的,但村民粮食贫乏不愿意出借。士兵们没有气馁,他们煮开了一锅水,往里面放了几块石头。村民好奇为他们在干嘛,士兵解释,这叫石头汤,如果能放点胡萝卜的话会更好喝。村民跑回家拿来了胡萝卜,士兵说如果放些土豆会更美味,又有人跑回家带来了土豆。后面又有人加了别的东西,最后士兵和大家一起吃了一顿饱饭。有时候你确切的知道自己需要什么以及怎么做,但请求许可这件事往往会遭遇拖延和漠然,每个人都会护卫他们自己的资源,这让事情变得复杂,这叫“启动杂役“。这时候我们不应该等着所有事情都准备好,而应该先拿出“石头”煮起来,就是想让事情启动起来。只要是有益的事情,你把做出的一部分结果拿给别人看,然后告诉他们如果加的别的什么会更好,大家一般都会帮忙的。
标签:村民,小工,石头,程序员,修炼,士兵,代码 From: https://www.cnblogs.com/-GYP/p/16743743.html