Blogs

百人组织的 DevOps 能力提升的前三个步骤

以下是我个人的经验总结。 百人是组织管理的一个人数临界点,此时才会产生规模化效能提升的诉求,具有一定的代表性。 尽管 DevOps 实践在十年前就已经被广泛理

继续阅读

代码健康(4):使用较长的命名,也可能降低可读性

利用“ commit message ”和“ issue ”提供上下文 阅读其他工程师的代码有时会感觉像是在考古,其中可能充满了难以破译的,奇怪(甚至令人瞠目结舌)的描述。**写代码

继续阅读

如何做到高效的Code Review

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

继续阅读

DevOps变革的动力模型

在 DevOps 转型中,最常听到的一个问题是什么? “我们如何让领导者参与进来,以便我们做出必要的改变?” 我们都知道,积极参与的领导力对于成功的 DevOps 转型至关

继续阅读

代码健康(3):不要痴迷于原始类型?

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

继续阅读

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

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

继续阅读

代码健康(1):什么是易理解的代码?

什么是代码健康 良好的编码实践包含许多方面,并不是任何代码问题都能由检查工具发现。 例如,编写具有可读性和可维护性的代码,不仅仅是编写好的测试,

继续阅读

谷歌pH值:衡量软件产品的项目健康度

最近,我又读了一遍《 SRE Workbook 》,其中又一次强化我的印象的一点是:SRE 是从用户视角为出发点,来识别和设计 SLO 的。由于这些已经上线的产品已经为真实用

继续阅读

谷歌的测试工程师是如何工作,帮助开发工程师提升生产效率的

现在,越来越多的软件系统采用了「微服务架构」。尽管这种架构对于多人参与的大系统,为多个功能特性的并行开发与无停机部署提供了便利,但对整个系统

继续阅读

使用自描述性的测试方法名

猜一猜你会花多长时间才能了解下面这段测试代码用来验证什么样的行为? @Test public void isUserLockedOut_invalidLogin() { authenticator.authenticate(username, invalidPassword); assertFalse(authenticator.isUserLockedOut(username)); authenticator.authenticate(username, invalidPassword); assertFalse(authenticator.isUserLockedOut(username)); authenticator.authenticate(username, invalidPassword); assertTrue(authenticator.isUserLockedOut(username)); } 你可能要从头到尾读完每一行代码才能知道 (甚至

继续阅读