猜你喜欢
匠艺整洁之道:程序员的职业修养

匠艺整洁之道:程序员的职业修养

书籍作者:罗伯特·马丁 ISBN:9787121432248
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5132
创建日期:2023-03-29 发布日期:2023-03-29
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

鲍勃大叔因在技术人群中声名远播的Clean系列在全球圈粉无数。本书为其烫手新作,旨在为广大工程师指明一条通向匠师之路,包括饱经洗砺的敏捷技术实践,如何通过持续的努力提高专业素养,软件可用之上的目标与技能,以及如何激发团队**潜能,等等。本书融会几本经典著作的精髓,将“整洁”方法论推向至高境界―软件开发者有责任维护世界正常运行,而“人”才是“技术”的决定者。

本书共分三部分,前两部分用实例阐释TDD在敏捷软件中的运用,以及验收测试、协同编程等常被忽视的敏捷侧面与具体策略,还探讨了颇有价值的软件设计方案相关话题;第Ⅲ部分拔地而起,直接提出十条堪称金玉良言的“规劝”,以帮助程序员成为团队基石。

本书适合所有软件开发者、测试工程师及工程类院校师生,对技术团队负责人及架构师同样大有助益。

作者简介

Robert C. Martin,Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。他是Designing Object-Oriented C++ Applications Using the Booch Method 以及 Jolt 获奖图书 Agile Software Development, Principles,Palterns,and Practices(中译版《敏捷软件开发:原则、模式与实践》)《代码整洁之道》等畅销书作者。

韩磊,IT产品与运营专家、IT图书专业译者,译有《代码整洁之道》《梦断代码》《C#编程风格》等多部计算机图书。曾担任CSDN副总经理、《程序员》总编辑、广东二十一世纪传媒股份有限公司新媒体事业部总经理等职,现任AR初创企业亮风台集团产研副总裁。

编辑推荐
适读人群 :本书适合所有软件开发者、测试工程师及工程类院校师生,对技术团队负责人及架构师同样大有助益。

传奇人物鲍勃大叔定义软件开发专业和技艺的原则,阐述所需纪律、标准和操守,让你能交付强固、高效的代码,并为自己编写的软件感到自豪。他为软件匠艺的基本纪律提供了实用、详尽和规范的指南。书中讨论了相关标准,展示了世界对开发者的期望与开发者自己的期望之间有何不同,帮助读者弥合这种差异。鲍勃最后总结了编程职业的操守,阐述所有开发者都该对同事、用户和他们自己做出基础承诺。 有了鲍伯大叔的见解,所有的程序员和他们的经理都可以始终如一地交付能够建立信任而非破坏信任的代码——在依赖软件生存的用户和社会中建立信任。

◆ 向着软件匠艺的“北极星”前进:达到了解如何写好代码的境界。

◆ 关于应用五项核心纪律的实用且详尽的指导:测试驱动开发、重构、简单设计、协同编程和验收测试。

◆ 开发者和团队如何提升生产力、质量和勇气。

◆ 程序员们精诚一致的真正意义,以及每位软件专业人员都该给出的十条具体承诺。


前言

推荐序一

最近几周一直在看《匠艺整洁之道》的样稿,这是最近半年来我看得最认真的有关软件工程方面的一本书,也是收获最大的一本书。

初识作者鲍勃大叔源于他的《代码整洁之道》(Clean Code),书里不厌其烦地描述如何能够写出高可读性代码的各种注意事项。写这样的书,我没有这样的水平,也没有这样的耐心,于是在《代码的艺术》一书和课件中,我会推荐学员和读者去看。对于一个想要写出好代码的软件工程师来说,是要好好了解这些细节的。

仅凭《代码整洁之道》,我对鲍勃大叔还没有那么崇拜。我一直认为,“写好代码”对于一个优秀的软件工程师还只是最基本的要求,而“写好文档”“做好项目管理”“不断提高自我”“拥有正确的人生目标和价值观”,这些才是更重要的。

很有幸,之后我又看到了鲍勃大叔的其他作品,包括《架构整洁之道》(Clean Architecture)、《代码整洁之道:程序员的职业素养》(The Clean Coder)。这些书让我改变了对鲍勃大叔的“错误”印象。尤其在本次阅读《匠艺整洁之道》的过程中,鲍勃大叔让我肃然起敬,书中诸多观点也让我感受到了强烈的共鸣。

在《代码的艺术》一书中,我提到“代码是人类智慧的结晶”“伟大的系统和产品一定来自优秀的人和团队”。关于优秀软件工程师的修炼之道,我总结为“学习—思考—实践”“知识—方法—精神”“基础乃治学之根本”。而在《匠艺整洁之道》中,鲍勃大叔提出“软件开发人员的职业操守”,总结为“我不写有害的代码”“我生产的代码将永远是我最好的作品”“我永远不会停止学习和改进我的技艺”等10条誓言。这些誓言真的是振聋发聩,值得所有的软件工程师好好学习和思考。在目前这个整体浮躁和迷茫的行业环境中,这些职业操守可以帮人成长,让人沉静,进而做出伟大的产品和系统!

书中关于“极限编程”的总结和描述也是高屋建瓴。关于TDD、重构、简单设计、协同编程这四点所构成的“生命之环”的描述,让人茅塞顿开。大量的软件工程师对“敏捷”有各种错误的认识。而在关于“纪律”的描述中,鲍勃大叔告诉我们,TDD是关键纪律,TDD和重构不可分割,简单设计依赖于重构,协同编程是软件团队共同工作的纪律和艺术。这些总结和论述真是太精辟了!

最后要提醒读者的是,阅读本书确实需要很好的耐心和很强的“向善之心”。大量读者喜欢“××语言从入门到精通”这种快餐类型的书,这样的书虽然可以“吃”得很快,但是“营养”有限。本书显然不是这种快餐类型的图书,书中的不少内容都是基于鲍勃大叔多年经验的总结,要理解、领会这样的内容,是需要阅历、思考和时间的。好的食物需要细细品味,好书也是如此。

感谢鲍勃大叔,也感谢本书的译者韩磊,感谢你们给中国的软件工程师带来这么好的一本书!

——章淼 BFE开源项目发起人、《代码的艺术》作者


推荐序二

很多公司的业务,是由产品或者运营来驱动的。对于一个非技术驱动的公司而言,技术团队的核心工作与核心职责都聚焦在产品与系统的交付上。如何提升产品与系统的交付效率与交付质量,是每一个技术人、每一个技术管理者日思夜想的问题。

我管理技术团队很多年,在带领技术团队作战的过程中,曾经有过这样的困惑与疑虑:

85 是什么决定了技术团队交付效率与交付质量的底线?

85 如何有效地为交付设定效率标准与质量标准,并持续迭代与改进?

85 作为一个技术人,其核心职业操守与道德准则是什么?

鲍勃大叔的Clean Craftsmanship从纪律、标准和职业操守三个方面给了我部分答案,很后悔没有能够早一点读到它。近期,其中文版《匠艺整洁之道》如期而至,作为一个技术人,又或者是一个技术管理者,如果你也遇到过和我类似的困惑与疑虑,建议你读读这本书。

一、关于纪律

不同的公司,研发效率与质量各异,究竟是什么决定了技术团队交付效率与交付质量的底线呢?

举一个很小的例子,有一次我们发布了一个系统,发现用户在访问时大约有1/8的概率出现了异常,这令我们百思不得其解。跟踪下来我们发现,这是因为在进行系统发布的时候,集群中的7个节点二进制发布成功,而1个节点二进制发布失败所导致的。

事后我们复盘,如何避免此类情况的发生呢?答案是“清单革命”。在发布流程里增加一项纪律,必须校验集群所有发布二进制的MD5。从今以后,不管是刚入职的应届生,还是资深的工程师,都不会再犯类似的错误,这就是纪律的威力。

系统发布有纪律、高效率和高质量的系统交付同样存在着有迹可循的纪律准则:测试驱动、系统设计、系统重构、结对编程和验收测试等。正是纪律,决定了技术团队交付效率与交付质量的底线。

二、关于标准

作为技术团队的负责人,如何有效地为交付设定效率标准与质量标准,并持续迭代与改进呢?

研发质量,要有标准:冒烟测试通过率是多少?千行缺陷率是多少?平均需求缺陷数是多少?……

测试质量,要有标准:测试环境自动化搭建程度是多少?用例复用率是多少?全量用例回归时间是多少?……

研发效率,要有标准:项目并行度是多少?故障定位与修复时间是多长?APP版本迭代周期是多长?……

关于标准,鲍勃大叔和我们谈了技术生产力,谈了持续改进,谈了自动化测试,谈了极致质量……

俗话说,没有度量标准,就没有办法评估;没有办法评估,就没有办法改进。正是“度量标准”,在指导着研发的效率与质量不断进步。

三、关于职业操守

不少技术人是有傲气的,包括我自己。我们改变着世界,用代码编写着规则,掌控着互联网运行的规律,那么什么是我们必须遵守的职业操守与道德准则呢?

每当我们写下一行代码,实现一个函数,提供一个接口时,这些意味着什么呢?我们有责任全力保证代码的正确性,有责任让所有继承它的人了解所写函数的作用,有责任保证接口好用、易用、难于误用。因为稍有失误,可能就意味着一次登录的失败、一笔资金的丢失、一次刹车的失效,甚至是以一条生命作为代价。

关于职业操守,鲍勃大叔和我们谈了正确性证明,谈了结构化编程,谈了TDD,谈了突变测试,谈了团队协作,等等。注释,文档,思考,交流,承诺,协作,自动控制,每一行代码里,无一不体现着我们技术人的职业操守。

最后,再次向每一个工程师、每一个技术管理者郑重推荐《匠艺整洁之道》,希望你能有收获,也和每一个致力于提升研发效率与质量的技术人,一起共勉!

——沈剑 公众号“架构师之路”作者


推荐序三:小处见大、以微知著

《匠艺整洁之道》已经是敏捷宣言签署者Robert C. Martin(鲍勃大叔)Clean系列的第五本书。程序员的“匠艺”(Craftsmanship)始终是鲍勃大叔的核心命题,本次从实践、纪律到职业操守,无不在谈这件事情。追求匠艺,就像书中实践部分的TDD一样,是一件知易行难之事。

与很多软件开发的理念和方法一样,对于Clean系列的评价并非众口同声,《敏捷整洁之道》(Clean Agile)前两年就在业内出现了一些批评的声音。有人指出鲍勃大叔过于聚焦局部细节,而忽略了现代软件开发的规模化问题。数字化时代毫无疑问是在持续增加软件系统的复杂度,甚至正在通过软件构建一个元宇宙,而应对这样的复杂度是每家企业、每个组织不得不面对的挑战。

从二十多年前的敏捷宣言开始,我们已经意识到在软件开发方法上是没有一枚银弹的,不同的程序员具有不同的倾向性,也是这个行业的常态。鲍勃大叔最值得我们学习的,并非是他系列著作中的具体方法,而是他持续思考如何将如此复杂的软件开发过程标准化,以提高软件质量的思维方式。这种思考的元模型一旦融会贯通,很多复杂问题都能够“递归”而解。所以Clean系列具有小处见大的特点,读书的关键在于理解鲍勃大叔从个体到集体的匠艺思考。

在硅谷曾有幸听过鲍勃大叔的一场演讲,他在现场激情四射,将几十年的实战所得娓娓道来。这样的感受也可以从本书的字里行间感受到。鲍勃大叔在这个年纪,仍然在持续学习和改进,从最开始的《代码整洁之道》(Clean Code)关注“好代码”,到现在《匠艺整洁之道》关注“好匠艺”,应该说是十年磨一剑的升华。从细微的程序员个人实践开始,以微知著,建立面向高质量、可持续发展的团队纪律和组织能力。

弘扬科学精神和工匠精神,已经是我们面向数字化时代的国策基石,鲍勃大叔给我们带来了软件开发领域几十年的匠艺追求,这份净心,对于尚处于青春期的技术行业,是每一位从业者必要的修炼。只有不停磨炼匠艺,纠正“35岁转管理”这样的行业浮躁心态,从而走向真正的工匠精神之路。

——肖然 Thoughtworks全球数字化转型专家、中国敏捷教练企业联盟秘书长


推荐序四:改变认知的一本书

软件工程师是我们这个时代最接近工匠的一个职业,在我眼中甚至有点儿接近文学和音乐。虽然这个名称里面带着“工程”两个字,但是对比其他的行业或者传统意义上的工程,软件工程的工业化程度还处于比较低的状态,这就意味着对人的要求会更高。我相信很多朋友都听说过一句话:“代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已。”但是又有多少工程师有这样的认知呢?

我认为,一个好的工程师的标准正是对待代码的态度,是不是有比能把“代码运行起来”这件事情更高的要求。回想我自己,我觉得我个人的转变是从看鲍勃大叔的《代码整洁之道》开始的。在那之前,作为软件工程师,我关注的重点在于技巧和很多具体的技术细节上。而对于鲍勃大叔的书,大家可能会发现他很少讲技巧,而是告诉大家在代码之外的更多东西,比如如何对待测试,如何对待软件工程,如何用一颗工匠般的心看待自己写出的代码,我认为这样的认知转变是一个优秀软件工程师成长的必经之路。

这本新书也一如既往地精彩,它通俗易懂又发人深省,如果你是一位对于写出好的程序有更高要求的程序员:不仅仅当成一个朝九晚五的工作,而是一门手艺,甚至一门艺术,你会喜欢这本书的。

——黄东旭 PingCAP联合创始人兼CTO


推荐序五

非常荣幸为鲍勃大叔的封山之作中文版写序,我从事软件架构设计及开发十余年,在个人成长以及带技术团队过程中,我都极力推荐鲍勃大叔的 Clean 理念,同时我也是鲍勃大叔Clean理念的受益人,感谢这位世界级的编程大师。

老朋友侠少这次极力邀请我为中文版写序,大抵是因为最近两年我的创业目标和鲍勃大叔殊途同归,我们都致力于提升IT工程师的软件开发水平,鲍勃大叔采用的是不断写书的方式,而我成立了一家奈学科技公司,通过案例剖析和场景实战的创始模式不断提升IT工程师的技术能力,从而为数字经济添砖加瓦,期望能像鲍勃大叔一样影响全世界!

鲍勃大叔Clean系列的每一本书我都详细拜读过,这次新书的电子版刚出来后,我也是以最快的速度拜读了这部封山之作。书中的插画一如既往地精彩,这本书更是之前Clean系列的集大成者。之前的系列更多关注于“技术”本身,这本书更多关注在使用技术的“人”身上。之前的每本书中鲍勃大叔都有很多精彩的思路和经验分享,而这本书中鲍勃大叔把之前的很多思路和经验抽象为方法论呈现给读者,让读者有章可循。

本书一共分为三个部分,即纪律、标准和操守。在第一部分中,作者用实例阐释TDD在敏捷软件中的运用,以及验收测试、协同编程等常被忽视的敏捷侧面与具体策略,同时这部分深刻地阐述了纪律的重要性;如果你是技术团队的管理者,或者是即将成为技术团队的管理者,我极力推荐你反复研读第二部分和第三部分,这两部分言简意赅地阐述了标准和操守对于“人”做软件开发的重要性。

我们这一代工程师是幸福的,因为有鲍勃大叔这样的大师一直引领着我们,如果你现在正在匠师之路上,那就赶紧打开《匠艺整洁之道》吧!

——孙玄 奈学科技创始人兼CEO、58集团前技术委员会主席


推荐序六

这大概是我迄今为止完成最快的一篇序,并不是因为敷衍,而是对这本新书的迫不及待。

2022年3月25日,收到博文视点张春雨老师的邀请,让我给鲍勃大叔的Clean系列新书作序。作为Clean系列的忠实读者,之前的《代码整洁之道》和《架构整洁之道》都曾给予我莫大的帮助与启发。如果当下你在软件开发的过程中有所困惑,遇到些许瓶颈,那么鲍勃大叔的Clean系列非常推荐你读一读,而且建议反复品读。

记得第一次接触Clean系列,是在我读研期间。说实话,第一次读并没有觉得这是一本多好的书。但在工作一段时间之后,由于具备了一定的实践经验,再回过头来品读一番,才顿悟书中内容之妙,这大概就是成长的必经之路吧。当我们没有经历过挫折的时候,对于前辈的指点,总是很难感同身受,甚至觉得根本不对。但当我们真正遇到相同问题的时候,才发现前人的经验确实妙不可言。

我强烈推荐大家拥有一套Clean系列,因为这个系列不仅介绍了关于软件开发过程中的各种优秀实践案例,让我们知道整洁代码、整洁架构给我们带来的好处,以及如何保持整洁的秘诀;而且对于优秀程序员应该具备何种职业素养,并指导我们做出最佳软件的底层思维模式,更有着极佳的指导意义。也许随着社会与技术的发展,有些案例慢慢不再适用,但职业素养和思维模式会伴随我们一生,这些底层逻辑将一直指导我们未来的每一处设计与实践。

介绍了那么多过去的内容,再来谈谈这本新书《匠艺整洁之道》。在刚看到书名的时候,一时半会儿还真猜不出这本书会讲什么,所以在拿到样章那一刻,我就直奔书中主题,一探究竟!这本书的第一章名为“匠艺”,作者认为要做好某件事的本质是需要良好的指导与大量的经验。但是,在如今的软件行业中,有很多程序员并不会做太久,所以他们缺少足够的实践体验和经验沉淀。同时,每隔5年程序员的数量就会翻一番,所以优秀程序员的比例会持续走低。当优秀程序员越来越少,保障软件产品的质量就会越来越难。所以,作者在接下来的章节中分别阐述了决定技艺水平的三个要素:纪律、标准和职业操守,以帮助开发者与管理者改变与提高团队的工作方式,最大限度地生产出高质量的软件产品。从这三部分的内容划分来看,这本书不仅仅适用于一线的开发者,对于管理者也是非常有帮助的。如果你对于目前的开发任务或团队的工作方式不太满意,或许可以通过这本书获取一些新的启发。

听说这本书将是鲍勃大叔的封山之作,所以期待这本书的上市,我一定会将这本书收入囊中,集齐Clean系列。虽然无法召唤神龙,但如之前的Clean系列图书一样,当我遇到困惑的时候,也会再翻出来寻找一些前人的启发。如果你跟我一样,打算在软件行业奋斗一生,那么这样的书,推荐你也拥有一本。

——翟永超 公众号“程序员DD”主理人、《Spring Cloud微服务实战》作者


推荐序七

2022年3月,我从工作了几年的公司离职,准备休息一段时间,老朋友张春雨(侠少)听闻我离职后在微信上跟我说,Robert C. Martin写了本新书,你有兴趣写篇序吗。侠少这几年一直邀我写书,可之前公司发展迅速,我也一直没有时间,恰好最近节奏也算慢了下来,于是就接下了这份活儿。

我知道Robert C. Martin还得从刚毕业去金山工作时说起,当时快盘的工作非常繁重,而我又是一个刚入行的新人,对代码和项目中很多细节都不是特别了解。记忆最深的是,当时的mentor花了一晚上重构了我的代码,跟我说好的工程师应该经常重构保持代码整洁,于是他推荐了几本书给我,其中就有《代码整洁之道》。

我花了一周时间读完这本书,不能说像打开了任督二脉从此走向人生巅峰,但至少明白了工程界有工程界的标准和要求,“整洁”二字说起来简单,但做起来却没那么简单。从个人的素养、软件架构、方法等到代码组织方式等,有太多可以学习和推敲的地方。随着项目本身的发展,这些“软”性的东西将决定着整个项目的能力上限。我也明白了为什么当时的mentor要经常性地重构代码,维护整个项目的“整洁”。

随着年龄的增长,我也从一线工程师开始带起了自己的团队,从几人到几十人,从创业公司到地区级独角兽,从《代码整洁之道》中学到的技巧和思路依然影响着我。从团队组建伊始我就不断强调好的代码就应该如同读一篇文章一样,也会组织定期review和重构等。老实说,这些方法确实在很大程度上帮助了我们团队运作这些项目,避免了大多数大型项目最终失控的命运。

收到侠少给我的样稿后我花了点儿时间通读了一番,我觉得本书是《代码整洁之道》的升华版本,从如何做事到如何做人,这也应对了英文版Craftsmanship这个单词—工匠精神。这本书里更多的是把技术和人文结合起来,少了些技术上的技巧,多了很多工程上的方法论,并不单单只是某种技术。它像一本类似于24条军规一样的书,重申现代世界实际构建者—也就是我们,我们这些工程师应该遵守的职业纪律,它帮助我们面对这份职业的责任,同时帮助我们提高作为工程师或者管理者的上限。

读读此书吧,软件工程已经不仅仅是编码就足够了,而它将会帮到你。

——彭哲夫(CMGS) Garena高级软件工程师

目录

第1章 匠艺 1
第Ⅰ部分 纪律 9
极限编程 11
生命之环 11
测试驱动开发 12
重构 13
简单设计 14
协同编程 14
验收测试 15
第2章 测试驱动开发 17
概述 18
软件 20
TDD三法则 20
第四法则 28
基础知识 29
简单示例 30
栈 30
质因数 46
保龄球局 55
小结 72
第3章 高级测试驱动开发 73
排序示例一 74
排序示例二 78
卡壳 86
安排、行动、断言 94
进入BDD 95
有限状态机 96
再谈BDD 97
测试替身 98
DUMMY 100
STUB 103
SPY 106
MOCK 108
FAKE 111
TDD不确定性原理 113
伦敦派对决芝加哥派 126
确定性问题 126
伦敦派 127
芝加哥派 128
融合 128
架构 129
小结 131
第4章 设计 133
测试数据库 134
测试GUI 136
GUI输入 138
测试模式 138
专为测试创建子类 139
自励 140
HUMBLE OBJECT 140
测试设计 143
脆弱测试问题 143
一一对应 144
打破对应关系 145
VIDEO STORE 147
具体vs通用 166
转换优先顺序 167
{} → NIL(无代码→空值) 169
NIL → CONSTANT(空值→常量) 169
UNCONDITIONAL → SELECTION(无条件→条件选择) 171
VALUE → LIST(值→列表) 171
STATEMENT → RECURSION(语句→递归) 172
SELECTION → ITERATION(条件选择→遍历) 172
VALUE → MUTATED VALUE(值→改变了的值) 173
示例:斐波那契数列 173
变换模式优先顺序假设 177
小结 178
第5章 重构 179
什么是重构 180
基础工具包 181
重命名 181
方法抽取 182
变量抽取 183
字段抽取 185
魔方 199
纪律 199
测试 199
快速测试 199
打破紧密的一一对应关系 200
持续重构 200
果断重构 200
让测试始终能通过 201
留条出路 201
小结 202
第6章 简单设计 203
YAGNI 206
用测试覆盖 207
覆盖 208
渐近目标 210
设计? 210
但还有更多好处 210
充分表达 211
底层抽象 213
再论测试:问题的后半部分 214
尽量减少重复 214
意外重复 215
尺寸尽量小 216
简单设计 216
第7章 协同编程 217
第8章 验收测试 221
纪律 224
持续构建 224
第Ⅱ部分 标准 225
你的新CTO 226
第9章 生产力 227
永不交付S**T 228
成本低廉的变更适应能力 230
时刻准备着 231
稳定的生产力 232
第10章 质量 235
持续改进 236
免于恐惧 237
极致质量 238
我们不把问题留给QA 239
QA之疾 239
QA什么问题也不会发现 240
测试自动化 241
自动化测试与用户界面 241
测试用户界面 243
第11章 勇气 245
我们彼此补位 246
靠谱的预估 247
你得说不 249
持续努力学习 250
教导 251
第Ⅲ部分 操守 253
第一个程序员 254
75年 255
书呆子与救世主 259
榜样和恶棍 261
我们统治世界 262
灾难 263
誓言 265
第12章 伤害 267
首先,不造成伤害 268
对社会无害 269
对功能的损害 270
对结构无害 272
柔软 274
测试 275
最好的作品 276
使其正确 277
什么是好结构 278
艾森豪威尔矩阵 279
程序员是利益相关者 281
尽力而为 282
可重复证据 284
狄克斯特拉 284
正确性证明 285
结构化编程 288
功能分解 290
TDD 290
第13章 集成 293
小周期 294
源代码控制的历史 294
GIT 299
短周期 300
持续集成 301
分支与切换 301
持续部署 303
持续构建 304
持续改进 305
测试覆盖率 306
突变测试 306
语义稳定性 307
清理 307
创造 308
保持高生产力 308
拖慢速度的因素 309
解决注意力分散问题 311
时间管理 314
第14章 团队合作 317
组团工作 318
开放式/虚拟办公室 318
诚实和合理地预估 319
谎言 320
诚实、准确、精确 321
故事1:载体 322
故事2:pCCU 324
教训 325
准确度 325
精确度 327
汇总 329
诚实 330
尊重 332
永不停止学习 332

产品特色