The practice of building software is a “new kid on the block” technology. Though it may not seem this way for those who have been in the field for most of their careers, in the overall scheme of professions, software builders are relative “newbies.”
In the short history of the software field, a lot of facts have been identified, and a lot of fallacies promulgated. Those facts and fallacies are what this book is about.
There’s a problem with those facts–and, as you might imagine, those fallacies. Many of these fundamentally important facts are learned by a software engineer, but over the short lifespan of the software field, all too many of them have been forgotten. While reading Facts and Fallacies of Software Engineering, you may experience moments of “Oh, yes, I had forgotten that,” alongside some “Is that really true?” thoughts.
The author of this book doesn’t shy away from controversy. In fact, each of the facts and fallacies is accompanied by a discussion of whatever controversy envelops it. You may find yourself agreeing with a lot of the facts and fallacies, yet emotionally disturbed by a few of them! Whether you agree or disagree, you will learn why the author has been called “the premier curmudgeon of software practice.”
These facts and fallacies are fundamental to the software building field–forget or neglect them at your peril!
格拉斯(Robert Glass)是Computing Trends的创始人。他写过数十本关于软件工程和软件研发失败教训方面的书。许多人,特别是阅读过《Communications of the ACM》和《IEEE Software》中他的专栏文章的人,相信Robert是软件工程界的一位重要的作者。Robert还发行自己的通讯稿《The Software Practitioner》,并经常就软件工程方面的事件发表评论
好书。 Glass阐述了一些事实,都是领域里的基本问题。每一个事实,先讨论,再列出围绕这个事实的争议,最后提出这个事实的信息来源,以及参考文献。 对于列出大量的争议,Glass相当自信自己的选择。 激烈的争议非常有助于行业的健康发展,可遗憾的是,很多事实没有争议,甚至,...
评分作者以自己几十年的实际软件开发经验,总给出软件工程中的55个事实和5+5个谬误,并对每项给出的分析,以及业界对其支持和反对的意见。 虽然我也不全盘同意作者的观点,但不能不承认,其中绝大部分观点确实是无比正确。它们每天发生的软件开发人员身边,如此基本,如此重要,却...
评分这本是看完code complete之后,按照他后边的书单,找来看的一本书。让我印象非常深刻的是作者采用的discussion-controversy-sources的方式来组织每个论点,可谓有理有据头头是道。另外比较有趣的是他老人家在描述自己没听说一件事的时候老是说i'm not aware什么什么,另外还喜...
评分http://wjason.javaeye.com/blog/280777 扫了一眼,忘记了不少。 要温故知新啊
评分这本是看完code complete之后,按照他后边的书单,找来看的一本书。让我印象非常深刻的是作者采用的discussion-controversy-sources的方式来组织每个论点,可谓有理有据头头是道。另外比较有趣的是他老人家在描述自己没听说一件事的时候老是说i'm not aware什么什么,另外还喜...
《软件工程的真相与谬误》这本书最大的价值在于,它能够帮助读者建立一种批判性思维,去质疑那些看似理所当然的“事实”。作者用严谨的逻辑和丰富的经验,让我们看到很多我们习以为常的做法,其实是存在问题的。比如,书中关于“项目范围蔓延”的讨论,它揭示了在许多项目中,范围蔓延是如何悄无声息地发生的,以及它对项目进度和预算造成的巨大影响。作者提供了一些非常实用的方法来控制范围蔓延,比如建立清晰的变更管理流程,以及与客户进行持续有效的沟通。他对“团队文化”的分析也让我深思,他认为积极健康的团队文化是软件项目成功的基石,而不良的团队文化则会扼杀项目的生命力。
评分在阅读这本书的过程中,我发现作者具有一种非常独特的叙事风格,他善于将复杂的概念用简单易懂的语言表达出来,并且总是能够用充满智慧的幽默感来调剂。例如,在讨论“需求蔓延”的问题时,他用了一个非常生动的比喻,将不断变化的需求比作一条难以驯服的河流,需要精心引导才能使其流向正确的方向。这本书也让我重新审视了“测试”在软件开发中的角色。很多团队认为测试是开发完成后的一个环节,但作者却强调了测试应该贯穿整个开发过程,并且是实现高质量软件的关键。他提出了“测试驱动开发”等概念,并对其进行了深入的阐释。对我来说,最受启发的部分是关于“技术选型”的讨论。很多人在选择技术栈时,往往容易受到流行趋势的影响,或者盲目追求“最新最酷”的技术。但作者提醒我们,技术选型应该 based on 实际项目需求和团队能力,而不是被表面的光鲜所迷惑。
评分这本书以一种非常坦诚和现实的态度,揭示了软件工程领域的一些普遍存在的误解和低效的做法。例如,关于“代码可读性”的讨论,很多人认为代码只要能运行就可以了,但作者却强调了代码可读性的重要性,它直接影响到代码的可维护性和团队的协作效率。他提供了一些具体的技巧,如何编写更易读的代码。书中对“文档”的态度也让我耳目一新。很多人认为文档是耗时且无用的,但作者却强调了高质量文档的重要性,它能够帮助团队成员更好地理解项目,减少沟通成本,并且为项目的长期维护提供基础。他提出了“文档即代码”的理念,即文档也应该像代码一样,得到精心的设计和维护。
评分《软件工程的真相与谬误》不仅仅是一本关于软件技术的书,它更是一本关于如何成为一个更优秀、更有效的软件工程师的书。书中对“团队协作”的探讨让我印象深刻。作者认为,一个成功的软件项目,离不开一个高效协作的团队。他提出了一些非常实用的建议,如何建立信任,如何进行有效的冲突解决,以及如何激励团队成员。我尤其喜欢书中关于“知识分享”的部分,他鼓励团队成员之间互相学习,共同成长,从而提升整个团队的水平。他对“持续学习”的倡导也让我深受鼓舞。在快速变化的软件行业,持续学习已经不再是一种选择,而是一种必然。作者为我们提供了许多关于如何进行有效学习的方法和途径。
评分在阅读《软件工程的真相与谬误》的过程中,我常常会有“原来是这样”的恍然大悟的感觉。书中对于“技术债务”的阐述尤其深刻。过去,我可能仅仅将技术债务理解为代码中的一些“脏活”,是应该在未来某个时间点去清理的东西。但作者却将其提升到了战略层面,他分析了技术债务是如何积累的,它对项目长期的健康发展会产生怎样的负面影响,甚至是如何影响到整个公司的竞争力的。他提出了一些非常实用的策略来管理技术债务,比如将其纳入项目规划,以及如何通过更有效的代码审查和重构来减少其产生。此外,书中关于“瀑布模型”的讨论也让我对传统的开发模式有了新的认识。尽管敏捷已经成为主流,但作者并没有全盘否定瀑布模型,而是指出在某些特定的项目类型和组织环境中,瀑布模型仍然具有其存在的价值。这种辩证的视角,避免了简单的二元对立,让我更能客观地看待不同的开发方法。
评分这本书的写作风格极其引人注目,作者并不是那种枯燥地罗列理论的学者,他更像是一位经验丰富的工程师,用生动的故事和鲜活的例子来佐证自己的观点。比如,在探讨“敏捷开发”的有效性时,他并没有简单地赞扬其优点,而是深入分析了在哪些情况下敏捷开发能够取得成功,又在哪些情况下它可能适得其反。他提到了很多“伪敏捷”的案例,即团队仅仅是采纳了敏捷的仪式,却未能真正理解其核心精神,最终导致项目混乱不堪。这种深刻的洞察力,让我对敏捷的理解从表面走向了更深层次。书中关于“固定需求”的讨论也让我受益匪浅。很多人认为,项目开始前就应该锁定所有需求,然后严格按照计划执行。然而,作者以令人信服的论证,证明了这种做法在快速变化的软件行业中几乎是不可能成功的。他强调了拥抱变化的重要性,以及如何建立灵活的流程来应对需求的不确定性。
评分这本书给我最深刻的印象之一,是它对“沟通”在软件工程中的重要性的强调。很多技术书籍往往侧重于技术本身,而这本书则将沟通置于核心地位。作者用大量的案例说明,很多项目失败并非因为技术难题,而是源于团队成员之间的沟通不畅,或者与客户的沟通出现误解。他提出的“清晰沟通”的原则,以及如何建立有效的沟通渠道,对于任何一个软件团队来说都是宝贵的财富。我尤其喜欢书中关于“代码审查”的章节。很多人认为代码审查只是一个形式,或者是一个“找茬”的过程。但作者却将其视为一个重要的学习和协作机制,他详细阐述了如何进行有效的代码审查,以及如何从审查中学习和成长。这种将“软技能”置于如此重要地位的做法,让我看到了作者对软件工程整体性的深刻理解。
评分最后,我想说,《软件软件工程的真相与谬误》这本书,绝对是每一个从事软件工程相关工作的人都应该阅读的一本书。它不仅仅能够帮助你更好地理解软件开发,更能够帮助你成为一个更成熟、更理性的工程师。书中关于“代码重构”的章节,我反复阅读了几遍。作者强调了重构的重要性,以及如何进行安全有效的重构,从而不断优化代码的结构和质量。他还提到了“代码味道”的概念,并详细解释了各种代码味道的产生原因以及如何消除它们。这本书让我明白了,软件工程并非是一门僵化的学科,它更像是一门艺术,需要我们不断地去探索、去实践、去创新。作者的观点让我看到了软件工程的广阔前景,也让我对未来的工作充满了期待。
评分我最近读了一本非常引人入胜的书,名为《软件工程的真相与谬误》。这本书简直像一本揭示行业内幕的百科全书,让我对软件开发这个看似熟悉却又充满误解的领域有了全新的认识。作者以一种非常接地气的方式,剖析了许多我们习以为常的“事实”,却发现它们原来只是流传甚广的“谬误”。举个例子,书中详细阐述了关于“完美代码”的观念。很多人认为,软件开发的目标就是写出没有bug、逻辑严谨、完美无瑕的代码。但作者通过大量的案例和理论分析,揭示了这种想法的局限性。他指出,在现实世界中,时间和资源的限制、需求的不断变化、以及人类本身的不完美,都使得“完美代码”成为一个可望而不可即的理想。我们更应该关注的是“够好”的代码,即满足当前需求,易于维护,并且在可接受的成本下实现的解决方案。这种观点颠覆了我过去对代码质量的理解,让我开始思考如何平衡完美与实用,如何更有效地管理项目中的“不完美”。
评分《软件工程的真相与谬误》这本书让我深刻反思了自己过去的一些开发习惯。例如,书中关于“过早优化”的讨论,让我意识到在许多情况下,我们花费了大量的时间去优化那些可能并不需要优化的部分,而忽略了更重要的问题。作者指出,很多时候,“够用就好”是更明智的选择,并且我们应该在确凿的数据支撑下进行优化。这本书还对“项目管理”的误区进行了深入的剖析。许多项目管理方法都被过度简化,或者被错误地应用,导致项目管理变成了一种机械的流程,而失去了其应有的灵活性和创造性。作者强调了项目管理应该以人为本,关注团队的士气和协作,而不是仅仅关注进度和里程碑。他对“风险管理”的阐述也让我受益匪浅,他认为风险管理并非是为了消除所有风险,而是为了更好地理解和应对风险,从而做出更明智的决策。
评分要想管好项目首先要了解项目管理的本质,此书对项目管理的一些基本事实和错误做了非常好的总结。
评分要想管好项目首先要了解项目管理的本质,此书对项目管理的一些基本事实和错误做了非常好的总结。
评分55 facts and 10 fallacies就姑且称之为“常识”吧,比如"不同人的工作效率差异可以达到数以十倍记",软件life circle的各个方面都有谈到。不过问题就是很多人常常忽视它们的存在,至少作者这样认为,所以就有了这本书,温故而知新。
评分看过大半的 Facts 之后就看不下去了. 年轻人看这种书, 要么就创业去, 要么余下的职业生涯就以看 Dilbert 为乐直到转行吧.
评分55 facts and 10 fallacies就姑且称之为“常识”吧,比如"不同人的工作效率差异可以达到数以十倍记",软件life circle的各个方面都有谈到。不过问题就是很多人常常忽视它们的存在,至少作者这样认为,所以就有了这本书,温故而知新。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 qciss.net All Rights Reserved. 小哈图书下载中心 版权所有