Blogs

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

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

继续阅读

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

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

继续阅读

有多少测试才算足够?

每一个软件开发人员和团队都会遇到一个熟悉的问题:“有多少测试足以证明一个软件版本是合格的?”这在很大程度上取决于软件的类型、用途和目标受众。

继续阅读

不要模拟( Mock )不属于你负责的组件!

本文将讨论如何以及在什么地方应该使用 Mock 技术来模拟第三方库或外部组件。 虽然对外部组件的模拟( Mocks )让你能够验证系统的边界,而不必真正使用外部系统

继续阅读

不要过度依赖于 Mocks!

在为代码编写测试时,通过对代码的依赖关系进行 Mock ,让测试写起来似乎更容易。 然而,过度使用 Mocks 可能带来几个问题: 让测试代码更难以理解。与直接使用代

继续阅读

lib 文件最好少使用硬编码值!

你可能会遇到这样一种情况:你的某个函数总是使用相同的一个值,那么你此时可能会定义一个常量。这是一种好的做法,因为它避免了“魔数”,并改善了代

继续阅读

测试覆盖率的最佳实践

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

继续阅读

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

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

继续阅读

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

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

继续阅读

代码健康(9):减少嵌套, 减少复杂性

嵌套过深的代码对可读性有害,而且容易出错。 而通过卫语句来检查某一条件,如果不满足就直接快速失败。 卫语句将计算逻辑与错误逻辑分离。通过消除错误

继续阅读