Fork me on GitHub

Tech For Fun

kaelzhang's blog

核心域的模式

Core Domain Patterns

时间和资源是有限的。在开发软件系统时,我们如何花费时间并利用资源是最根本,最困难的挑战。在我们可能做的所有事情中,我们应该做什么,又应该投资多少到质量上? 对于软件工程师来说,更喜好于迎接有趣的技术挑战。 然而遵循领域驱动设计方法的开发人员通过一个被称为核心域的概念能实现平衡。核心域是系统中具有最高业务投资回报率的部分。 作为开发人员,应该重点寻找核心域,以帮助我们专注于实现最大的价值...

提交提交信息和缺陷报告的上下文

Google代码健康

Google代码健康:提交提交信息和缺陷报告的上下文 本文源于Google公司的马桶上的健康代码,作者:Chris Lewis。 你已陷入了陷阱。机关在你周围旋转,但却毫无意义。你拼命寻找并找到建造者的原始计划!实现陷阱的工作单的描述为“杂项修改”。噢亲!天呐! 阅读其他工程师的代码有时会像是一次考古探险,充满了难以解释的怪异而奇妙的陈述。代码总是因为某些目的而编写,但是有时在代码...

消除YAGNI坏味道

Google代码健康

Google代码健康:消除YAGNI坏味道 本文源于Google公司的马桶上的健康代码,作者:Marc Eaddy。 大多数的软件开发成本在于维护成本。降低维护成本的一种方法是仅在真正需要时才实现某些东西,也就是“You Aren’t Gonna Need It(你将不会需要它)” (YAGNI)设计原则。如何发现不必要的代码?跟随你的“嗅觉”! 代码坏味道通常是表示存在设计缺陷的代码...

减少嵌套,降低复杂性

Google代码健康

Google代码健康:减少嵌套,降低复杂性 本文源于Google公司的马桶上的健康代码,作者:Elliott Karpilovsky。 深层嵌套的代码会损害可读性,并且容易出错。尝试在下列代码的两个版本中寻找错误: 答案:“ wrong encoding”和“ unauthorized”错误会互换。在重构版本中更容易看到该错误,因为检查是在处理错误时进行的。 上面显示的重构技术称为...

Google内部代码质量工作

Google代码健康

Google代码健康:Google内部代码质量工作 本文源于Google公司的马桶上的健康代码,作者:Max Kanat-Alexander(《Code Simplicity》的作者) 良好编码实践的很多方面并不属于软件行业中大多数“工程效能”小组关注的常规测试和工具领域。例如,拥有可读性和可维护性的代码不仅仅只是编写良好的测试或拥有正确的工具,还关乎拥有一开始就易于理解和修改的代码。但...

Google研发度量改进实践

QUANTS度量改进模型

Google研发度量改进实践 Google改进过程: 前言 随着敏捷开发、DevOps等方法论在软件行业持续运用,各种用来提升组织研发效率和产品质量的实践层出不穷,如何有效度量评估这些实践带来的改进和提升则成为一个重要的课题。建立一套完备的度量指标体系看似是解决这个问题的第一步。当然有不少知名企业已经率先完成这一步,比如:阿里研发效能体系等。研发效能度量体系发展到今天看似即将抵达终点...

设计高质量软件

架构和技术最佳实践

设计高质量软件 原文地址:https://dzone.com/refcardz/designing-quality-software?chapter=1 提供一套用于构建更好的软件的设计原则,编码原则,测试原则,环境规则以及通用规则清单。 Abstract 可以将软件的技术质量定义为软件系统源自常识和最佳实践中的一组原则和规范的一致性级别(译注:强调原则和规则的通用性)。 这...

独立系统架构

微服务原则

独立系统架构 简介 独立系统架构(ISA,Independent Systems Architecture)是基于经验的最佳实践的集合,特别是微服务和自包含系统以及这些项目所面临的挑战。 通常采用微服务的项目都未能成功。 这套最佳实践可确保避免常见的陷阱,并实现微服务所承诺的优势。 但是,ISA原则并不总是适用 - 有关详细信息,请参阅常见问题。 术语 这些原则中对于不能在系...

  [译]什么是DevOps?

  what is the DevOps?

[译]什么是DevOps? 原文地址:https://docs.microsoft.com/en-us/azure/devops/learn/what-is-devops 作者:Sam Guckenheimer DevOps是人员,流程和产品的结合,目的是向最终用户提供价值的持续交付。 “开发”和“运维”的一体化是指将孤立的开发和运维替换为:基于共享和高效的实践和工具协同的跨学科团队。D...

  TCR究竟是个什么鬼?

  what is the TCR?

TCR究竟是个什么鬼? TCR全称test && commit   revert,即执行测试,然后自动提交(测试通过)或者自动回退(测试失败)。该方法由Kent Beck于2018年9月提出:[test && commit   revert](https://medium.com/...