《软件设计的哲学》第三章 工作代码是不够的

简介: 《软件设计的哲学》第三章 工作代码是不够的

这里面讲到了一个很多人都是战术性编程,战术性编程比战略性在不懂技术的管理者眼里开始的编程效率高很多


我以前也觉得公司在初创阶段雇佣一些普通程序员,快速迭代开发出功能,然后赚钱了,再去招牛人重构,之前觉得这个想法还可以


看了这本书后否定了这个想法:

7f41521159d34afba3bac5dbf9f10bcb.png




要考虑的另一件事是,公司成功的最重要因素之一就是工程师的素质。降低开发成本的最佳方法是聘请优秀的工程师:他们的成本不会比普通工程师高很多,但生产率却高得多。但是,最好的工程师对良好的设计深感兴趣。如果您的代码库很残酷,那么单词会变得毫无用处,这将使您难以招募。结果,您最终可能会遇到普通的工程师。这将增加您的未来成本,并可能导致系统结构进一步退化


Facebook 是一个鼓励战术编程的创业公司的例子。多年来,公司的座右铭是“快速行动并打破困境”。鼓励刚大学毕业的新工程师立即深入公司的代码库;工程师在工作的第一周将承诺投入生产是很正常的。从积极的一面来看,Facebook 作为一家赋予员工权力的公司而享有声誉。工程师拥有极大的自由度,并且几乎没有任何规则和限制。



Facebook 作为一家公司已经取得了令人瞩目的成功,但是由于该公司的战术方法,其代码库受到了影响。许多代码不稳定且难以理解,几乎没有注释或测试,并且使用起来很痛苦。随着时间的流逝,该公司意识到其文化是不可持续的。最终,Facebook 改变了座右铭,即“以坚实的基础架构快速移动”,以鼓励其工程师在良好的设计上进行更多的投资。Facebook 是否能够成功清除多年来战术编程中积累的问题还有待观察。



为了公平起见,我应该指出,Facebook 的代码可能并不比初创公司的平均水平差很多。战术编程在初创企业中司空见惯。Facebook 恰好是一个特别明显的例子。



好的设计不是免费的。它必须是您不断投资的东西,这样小问题才不会累积成大问题。幸运的是,好的设计最终会收回成本,而且比您想象的要早。


所以还是好好写代码吧,而不是满足于实现功能上


相关文章
|
1月前
|
开发者
从代码到哲学:编程中的思考与启示
【10月更文挑战第34天】在数字世界的编织中,每一行代码都蕴含着深邃的逻辑与创造的火花。本文通过探索编程的本质、代码与生活的关联、以及技术发展带来的社会影响,揭示编程不仅仅是技术的堆砌,更是人类智慧与哲学思考的体现。我们将一起走进代码的世界,发现那些隐藏在逻辑背后的哲理与人生启示。
|
2月前
|
算法
从代码到哲学:编程中的人生启示
【9月更文挑战第35天】在代码的世界中,我们不仅是在编写程序,更是在书写生活。每一行代码都蕴含着逻辑与美,每一个算法都承载着智慧与挑战。本文将通过编程的视角,探讨人生的意义、选择的重要性以及面对困难的态度,带你领略技术背后的深刻哲理。
|
1月前
|
存储 算法 数据库
从代码到哲学:探索编程中的思考与实践
【10月更文挑战第37天】在编程的世界里,我们不仅是在编写代码,更是在编织思维。每一行代码都是对问题解决方案的深思熟虑,每一个算法都是对逻辑思维的锻炼。编程不仅是一种技术活动,它同样是一种哲学的实践——通过代码来体现我们对世界的理解与改造。本文将带你走进编程的世界,探索那些隐藏在代码背后的深刻哲理。
|
2月前
|
算法 程序员
从代码到哲学:编程中的启示与人生思考
在编写代码的过程中,我们不仅构建程序,也在无形中编织着生活的哲理。每一行代码都像是生命中的一步,它们共同构成了复杂而精彩的生命之旅。本文将从编程的角度出发,探讨技术实践中的深刻启示,以及这些启示如何影响我们对生活、工作和自我成长的理解。
|
4月前
|
存储 程序员 容器
从代码到哲学:编程中的启示与人生智慧
【8月更文挑战第31天】在编程的世界里,代码不仅仅是命令和逻辑的集合,它更像是一面镜子,反映出我们对待问题的态度和方法。本文通过探索编程中的一些基本原则和实践,揭示它们如何与我们日常生活中的决策和行为相互映射。从简单的代码片段到复杂的系统设计,每一步都蕴含着深刻的哲理,指引我们在面对生活和工作中的挑战时,如何保持清晰的思路和坚定的意志。文章将带领读者走进编程的内在世界,发现那些隐藏在代码行间的智慧和启示。
|
6月前
|
敏捷开发 设计模式 算法
软件设计的哲学:前言
软件设计的哲学:前言
|
数据处理
【软件工程】第三章
【软件工程】第三章
|
敏捷开发 算法 安全
如何写出高质量代码:特征、编程实践技巧和软件工程方法论
如何写出高质量代码:特征、编程实践技巧和软件工程方法论
下一篇
DataWorks