YAGNI原则——你不会需要它

YAGNI(You Aren't Going to Need It)原则提倡只编写当前真正需要的代码,避免因预测未来需求而增加不必要的复杂性。遵循这一原则可以提高代码的可读性和维护性,减少浪费。关注代码的单纯性,选择针对具体需求的简单方案,而非预设通用性的复杂设计。在软件功能上,也要避免添加预测的、可能不被使用的功能,以保持软件易用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YAGNI

英文:You Aren't Going to Need It

中文:你不会需要它

是什么

只写所需最低限度的代码。不能以“可能会用到”为动机编写代码,我们要在需要的时候写需要的代码。坚持只写当前需要的代码。

为什么

即使事先写好了一大段代码以应对各种情况,这些代码大多也派不上用场。

编程针对的是特定需求,所以再怎么追求通用性,总有无法满足的情况。考虑代码的扩展性,有时人们会把自己认为有用的东西设计进去。可惜这些预想大多不会成真,不能成真,就意味浪费了时间。

况且将扩展性纳入考虑的范围会进一步使代码变得复杂,无用的代码混在其中,使代码可读性变低,难以维护。

怎么做

比起通用性,我们更重视单纯性。

先把通用性带来的可重复使用的特性和扩展性放到一边,将“能用”放入第一位。

在多种设计方案的选择中,我们重点要看的是设计方案的单纯性,而不是通用性。不要选择标榜通用性的复杂方案,要选择以具体需求为基础的简单方案。即使需求增加,功能需要扩展,简单的代码比通用的复杂代码更容易修改。

YAGNI的试用范围

除代码之外,YAGNI还适用于软件的功能。

丰富的功能来看上去很吸引人,但仅凭预想创建出的“没有必要的”功能不但没有人使用,还会令软件整体使用方法复杂化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值