又不是不能跑
「又不是不能跑」是程序员圈的常用说法,意思是代码虽然写得差、没测试、结构乱,但功能还能运行,因此不必改。它既是省略测试和重构的自我开脱,也是对改动老系统、惹出事故和背锅风险的现实权衡。
什么意思
3 个义项- 指代码质量差但功能尚能正常运行时,以此为由放弃优化。语气常带自嘲或讽刺,等于承认「烂是烂,但先这样吧」,用来搪塞测试、重构、性能优化等要求。
- 指老系统或历史代码虽然不优雅,但一经改动可能牵一发动全身,因此主张维持现状。这层意思偏向风险判断,强调改了没好处、改坏了要担责,而非单纯偷懒。
- 在吐槽他人或团队代码时用作批评,暗示对方以满足最低可运行状态为借口,缺乏工程追求。此时说话人往往站在「看不下去」的一侧。
什么语气
口语、随意,带调侃和妥协意味。用于自嘲时偏轻松,用于评价别人代码时容易显得批评或讽刺,正式场合和技术评审里直接这样说会显得不专业。
用在哪儿
- 开发者在工期紧、任务重时,为不写单元测试、不重构而给自己找台阶,多是自我调侃。
- 接手别人留下的老代码或被要求改动遗留系统时,用来说明改动风险大于收益,劝退无谓的调整。
- 代码评审或技术讨论中吐槽某段实现质量差,认为对方只抱着「能跑就行」的心态写代码。
- 生产环境出过事故之后,回顾当时该不该动那段代码,用它表达「不改反而更稳」的立场。
这样说
这代码烂归烂,又不是不能跑,先别动了。
都说了能不动就别动,你非要去调,现在出事了吧。
他那套东西就是又不是不能跑的心态,能拖一天是一天。
单测这次先跳过吧,又不是不能跑。
能跑就行,别给自己加活了。
例句是编辑写的,只为演示怎么用,不是从谁的帖子里扒下来的。
从哪来的
该说法多见于开发者语境,属于技术团队里长期流转的口头表达。可核验的资料显示它至少在二〇二二年已被用来概括开发者逃避单元测试的理由之一,但这只能说明当时已有使用,不能当作起源或最早流行时间。它是「能跑就行」「又不是不能用」这类同义句式的变体,具体由谁先说出、是否有某个事件触发,资料中没有可靠依据。
注意什么
这个词在不同人嘴里褒贬不一样。说的人可能是在自嘲偷懒,也可能是在认真做风险权衡,直接理解成对方技术不行或态度敷衍容易误判。在正式技术评审、面试、对外汇报里用它,会被当成缺少工程标准的信号。它跟「技术债」「欠债」不完全等同:后者是承认问题并记账,而「又不是不能跑」更多是在为不还这笔账找理由。另外,它说的是「能运行」,不等于功能正确或性能达标,把能跑等同于没问题是最常见的误读。
还不确定
- 没有材料能确认该说法由谁创造、源自哪一具体事件或何时开始流行,起源与最早出处存疑。
- 是否应一概解释为敷衍存在语境差异,开发者平台文章将其列为逃避测试的理由,另一些案例则把它当作避免生产事故、控制重构成本的风险判断。
- 有讨论指出,被这样评价的实现未必真的不合格,若没有实际性能瓶颈,改动本身也未必必要,不能仅凭这句话断定技术方案有问题。
- 检索到的材料以技术社区文章和个人经验为主,未见辞书、论文或平台官方对该说法作专门释义。
常见疑问
又不是不能跑是什么意思
它是程序员圈的常用说法,指代码虽然质量差、没测试,但功能还能运行,所以不必改。既可以是为不写测试开脱,也可以是判断改动老系统风险太大的理由。
又不是不能跑是什么梗
它算不上有明确出处的梗,更像是技术团队里长期流传的一句口头禅,常见变体是「又不是不能用」和「能跑就行」,用来概括对烂代码的最低容忍态度。
又不是不能跑怎么用
通常放在给自己或别人找台阶的语境里,比如跳过单测、拒绝重构、劝人别动老代码。语气要放松,正式评审场合慎用。
又不是不能跑是骂人的吗
不一定是。自嘲时只是调侃,用来评价别人代码时带批评和讽刺,容易被听成说对方态度敷衍或水平不行,要看关系和场合。
又不是不能跑和能跑就行有什么区别
意思接近,但立场不同。「又不是不能跑」多是被要求改动时的反驳,强调不必改;「能跑就行」更像主动表态,承认标准就定在能运行。
又不是不能跑是不是不重视代码质量
要看语境。有时确实是在逃避测试和重构,有时是权衡改动老系统的风险。单凭这句话不能断定说话人不重视质量。
又不是不能用是什么意思
它是同一说法的常见变体,把「跑」换成「用」,意思还是功能可用就别折腾,多用于产品功能或工具,程序员也常拿来形容代码。