工程效能

工业化与效能度量?如何做?

对于一个软件产品组织来说,软件工程度量是必须做的事! 虽然「数据驱动决策」的文化有一些缺点,但总的来说,依赖数据往往使大多数决策相对客观,而不

继续阅读

一致性,是研发效能提升的必经之路!

「一致性会为组织带来逆熵,使其在规模化的过程中更加有序,从而带来效能提升(至少可以保持不降)。 为系统化组织注入一致性,要从三个方面入手:流程

继续阅读

测试覆盖率的最佳实践

我们一直提倡的是:使用代码覆盖率数据来评估风险,并识别测试与预期的差距。 然而,代码覆盖率的价值是一个备受争议且观点两极分化的话题。每次与一群

继续阅读

测试 UI 逻辑,请使用“正门优先原则”!

针对 UI 逻辑的自动化单元测试,当然是使用“正门优先原则” ,即:尽可能使用 Public 的真实实现代码。 一个对象( Object )会有几种接口。例如,它会有一个为大多数

继续阅读

代码健康(10):包含尊重的CR,才是有用的CR

虽然代码评审被认为是提高软件项目质量的一个有价值的工具。但是,如果反馈评论被认为描述不清晰,或者是过于苛刻,都可能会产生不良后果,如:慢吞吞

继续阅读

如何让 CodeReview 一次性通过?

Code Review 可能让你的代码合入速度变慢,但它也是向其他聪明且有经验的工程师学习改善自己代码质量的机会。 你如何从他们那里获得最大的收获呢? 目标当然是:

继续阅读

消除 YAGNI 坏味道

消除 YAGNI 坏味道 软件开发的大部分成本是维护成本。减少维护成本的一个方法是:“只在当你真正需要它时,才去编写它”。也就是所谓的 “你不需要它( You Aren’t Gonna

继续阅读

如何做到高效的Code Review

Code Review 一直是软件工程中的一个好实践。本文仅简单阐述 Code Review 对工程团队的重大意义,以及高效 Code Review 的必要实践。 主要内容包括: Code Review 对工程组织的意义 提交者应

继续阅读

不要痴迷于原始类型

不要痴迷于原始类型 编程语言提供基本类型,如 int ,string 和 map ,这些类型在许多场景下都被用到,例如,利用 string 保存人名,或者网页URL等等。 然而

继续阅读

代码健康(2):接口设计,要让其很难被误用

这是《Effective C++》中的第18条原则。 我们都在试图避免代码中的错误。 那么,如何避免调用者以错误的方式调用了你的这些代码呢? 让你接

继续阅读