ATRIMUT 标志
ATRIMUT 精准技术,可靠成果
代码哲学

程序,先写在纸上

一个程序的大部分工作,其实是在纸上完成的。大学里老师就这样讲,可学生只想尽快写代码。等到参加工作,那张纸还是没有出现。如今,连 AI 也在重复同样的话:70%的工作在纸上。区别只在于,今后匆忙拼出的代码,将由它来写,而不是我们。

桌上的纸张画着实体关系图,旁边放着铅笔和橡皮,背景是显示代码的笔记本电脑

大学老师反复强调的事

到了大学高年级,学生与本专业老师的交流越来越多。数学分析、物理、化学渐渐退到身后——这些课在低年级时,总让人觉得多余。(其实它们很有用,不过那是另一个话题。)前面终于是软件开发,也正是大家当初选择这个专业的原因。偏偏这时,老师开始讲一些出乎意料的话。

学生却急着看到成果。想做出一个完整、能运行的东西,装到身边的电脑上。说不定,还能以几万卢布的价格卖给一家小公司:对方不太懂电脑,更不知道程序究竟是怎么来的。

老师却一遍遍地说:先画出来。做分析,画图,识别实体以及实体之间的关系。想清楚数据怎么存、怎么分布、哪些对象引用哪些对象。

学生觉得这些问题很奇怪。怎么存?放进数据库,不就行了?

都是工具的问题?

后来,做出的程序既不好看,运行起来也时好时坏。明明好像都做对了,那问题一定出在开发环境上。工具还不够完善,需要新的工具,能自动把一切画成“正确的样子”——也就是我们脑海里的样子。

但开发者理解问题的方式,并不是大学里教过的那套,而只是自己眼下能够做到的程度。逻辑很简单:给我一个工具,我就能改变世界。至于基础,没有人去想。基础还留在当年老师反复讲的那些话里。

AI 来了,却又重复了同一个故事

接着,响亮的新理念、新语言,以及一点就通的 AI 智能体出现了。故事再次重演。你自己没能画清楚、分析透、拆解好的东西,智能体照样把它写出来,只是更快。

如果脑中没有数据模型,智能体不会凭空替你把它想明白。它会迅速而自信地,为输入的那团模糊写出代码。

独立研究机构 METR 做过一个很有代表性的实验。经验丰富的开发者在自己熟悉的项目中处理真实任务:一部分任务使用 AI 工具,另一部分不使用。使用 AI 时,他们实际多花了19%的时间,却以为自己快了20%(METR,2025)。后来,研究者也说明,工具此后变得更强,这些数字已经过时(METR,2026)。但感受与现实之间的差距本身,就很值得思考:敲代码的速度,并不等于做出软件的速度。

纸上功夫,不是文牍主义

俄罗斯关于自动化系统建设的标准,把工作划分为八个阶段、近三十个步骤。调研、需求、概念方案、技术任务书、初步设计和技术设计。真正的程序开发,只是“工作文档”阶段中的一个步骤(GOST R 59793-2021,俄罗斯联邦技术调节与计量署)。制定这份标准的人,很清楚“直接开始写代码”的项目最后会怎样。

这里的纸,不是为了交差而堆起来的文件,而是思考发生的地方。实体、关系、数据流、责任边界——这些东西,用橡皮修改很容易,等系统运行起来再改,代价就高了。

最后还剩多少工作是写代码?

于是,问题又回来了:整个软件开发过程,究竟有多少是在纸上完成的?

过去常说,七三开。今天,代码交给智能体来写,纸上的工作也许会占到98%,甚至99%。

留给开发者的,是最重要的事——思考。正是当年大学老师反复强调的那件事。

  • 软件设计
  • 软件架构
  • 数据模型
  • AI 辅助开发
  • GOST R 59793-2021
  • 程序员培养
Alexander Semiletov,技术团队负责人、开发部门主管
作者

技术团队负责人、开发部门主管

拥有20多年软件开发经验,毕业于莫斯科工程物理学院(MEPhI)。从 .NET/C# 到 Angular 和 React,具备全栈开发经验。关注软件架构、数据模型与 AI 解决方案,建设开发团队与研发流程。

技术交流、专家文章与合作咨询:cn@a3imut.ru

任何使用或复制本站内容的行为,仅在注明作者并附有指向原始网站 cn.a3imut.ru 的直接有效链接的条件下方可进行。