posts - 296,comments - 1,views - 2823

胸有成竹

这一章是介绍对变成效率的量化的,种种量化方法将程序员的生产效率细化到指令/年(不好意思,他们当年是写汇编的,高级语言那个时候还很少)。我觉得这个实际上意义不大, 但是仍然是一个有趣的参考,最终的结论是工作量=常数*指令数量^1.5,也就是说工作时长跟代码数量的指数关系而不是线性关系,随着代码数量的增长,工作时长是指数级上升的。

削足适履

这一章主要是讲程序大小的,包括代码大小和内存占用的大小。代码大小现在应该已经不是软件开发的重要考量了吧?但是这一问题在如今的 App 开发中应该也有,虽然很多公司毫不在乎占用用户几百 M 的存储空间……当然在前端还存在另外一个问题,即过大的代码包会耗费过多的流量,尤其是在早年的移动端开发中,那时候流量很金贵,现在这样的顾虑逐渐变少了,但是一直都存在的顾虑是代码的加载速度,当然这一问题也可以通过分包懒加载来解决了。总而言之,当年的那些经验在前端领域适用的已经不多了,但是在客户端领域可能仍然适用。

内存当然始终是一个问题,但是应该主要考虑不要发生内存泄露的问题,自动的垃圾收集可以解决大部分问题了吧?计算机硬件的进步真的极大地降低了软件工程的难度。

提纲挈领

这一章主要是介绍文档的重要性,对于项目经理来说,文档是很重要的,它包含了项目目标、产品的技术说明、时间、资金预算、工作空间的分配和人员的组织结构。文档的重要性在于首先,明确的书面记录会让分歧更明朗,使混沌的状态变得清晰、明确;其次,文档降低了沟通的负担;最后,文档便于项目经理跟踪项目的进度状态。

未雨绸缪

这对于程序员来说可能是一个十分不幸的消息:系统必然会面对各种变化,你开发的软件必然会在修修补补中变得面目全非,最初的设计必须在各种妥协中打上各种丑陋的补丁。无论是多么良好设计的系统,都会走向混乱,区别只是这个过程的快慢而已。因此,好的设计会让这个过程尽可能地慢,尽可能地不那么痛苦,我们能做的就是眼光尽量放长远,让我们的代码尽可能地具有高可扩展性并且易于维护。而且,在面对不得不进行的重构时,做好心理准备。

干将莫邪

这一章一言以蔽之:磨刀不误砍柴工。好的开发工具和开发环境可以极大地提高开发效率,当然,作者在这一章中介绍具体方法、工具、语言等已经不适用于我们这个时代了。

整体部分

我们将整体的项目分割成更小的部分来开发,但是最终我们仍然需要将这各个部分合并成一个整体对外提供服务,这就带来了新的问题:各个部分可能独立工作良好,但是当合并成整体时反而导致了新的系统级的 bug。这就要求我们在设计系统结构时精心设计,减少各个部分间的耦合,各个模块的独立性越高,系统级的 bug 的可能性就越低。此外作者在本章还介绍了一些测试的方法,这部分我不太了解,而且测试的方法、流程可能也已经过时了,毕竟我们已经有了更好、更方便的版本控制工具和测试流程,但是其中一些理念还是有意义的,如重构过的模块在合进整体的时候仍然需要对系统整体进行测试,而不是仅仅测试重构过的模块。

posted on   leapss  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示