第6章 手写之道
一
第 10 天。
张子烨的古法 Coding 学习班已经进入了第二阶段。
20 名学员站在教室中央,每人面前都有一块白板,手里拿着马克笔。
“今天的测试很简单,”张子烨说,”手写实现一个快速排序算法,不允许查阅任何资料,纯凭记忆。”
学员们面面相觑。
快速排序,这是算法课上的经典内容,但在 AI 时代,已经很少有人真正手写过它了。
“开始。”
一声令下,教室里响起了马克笔摩擦白板的声音。
张子烨在教室里踱步,观察着每个人的表现。
有人奋笔疾书,显然对算法很熟悉;
有人咬着笔头,苦苦思索;
也有人在白板上涂涂改改,写一行擦一行。
十分钟后,时间到。
“停笔。”
张子烨走到第一块白板前,这是王浩的。
1 | def quick_sort(arr): |
“思路正确,”张子烨点评道,”但空间复杂度是 O(n),不是最优解。”
他走到下一块白板前。
1 | def quick_sort(arr, low, high): |
“这是标准的地快速排序实现,”张子烨点点头,”原地排序,空间复杂度 O(log n),很好。”
他继续往前走,看到了一块几乎空白的白板。
学员低着头,满脸羞愧。
“我……我忘了……”学员嗫嚅着说。
“忘了什么?”
“我忘了快速排序的原理……以前用灵码的时候,只需要输入’给我写个快速排序’就行了,从来没自己实现过……”
张子烨叹了口气。
这就是 AI 时代的悲哀——人们习惯了索取,却忘记了学习。
“没关系,”他说,”忘记是正常的。重要的是,你现在愿意重新学。”
他拿起马克笔,在那块空白白板上写下快速排序的核心思想:
分而治之,选基准,分左右,递归排。
“记住这十二个字,你就永远不会忘记快速排序的原理。”
二
下午,张子烨接到了一个电话。
是父亲张守道打来的。
“烨儿,回家一趟,有要事相商。”
张子烨听出了父亲语气中的凝重,立即向公司请了假,赶回家中。
书房里,张守道正在翻阅一本厚重的古籍,那是张家的传家宝——《代码筑基经》的完整版。
“爸,什么事这么急?”
张守道抬起头,目光深邃:”你看看这个。”
他指着古籍上的一段文字:
“传法之道,有三重境界:
第一重,授人以鱼——代写代码,解一时之急;
第二重,授人以渔——传授方法,使其自立;
第三重,传道授业——传承心法,延续道统。”
“烨儿,你现在处于哪一重?”
张子烨想了想:”应该是第二重吧,我在教他们手写代码的方法。”
“不够。”张守道摇摇头,”你教的是’术’,不是’道’。”
“术与道,有何区别?”
“术是技巧,是方法,是’怎么做’;道是理念,是思想,是’为什么做’。”
张守道站起身,走到窗前。
“你教他们写快速排序,但他们知道为什么要用快速排序吗?知道什么时候不该用快速排序吗?知道快速排序的优缺点和适用场景吗?”
张子烨沉默了。
他确实没有讲过这些。
“古法 Coding 的精髓,不在于会写多少算法,而在于理解代码的本质。”
“代码是什么?是人与机器的对话,是逻辑的具象化,是解决问题的工具。”
“如果你只教他们’怎么写’,而不教他们’为什么写’,那他们永远只是代码工人,不是代码修行者。”
张子烨若有所思地点点头。
“爸,我明白了。从明天开始,我会调整教学方法。”
“不只是教学方法,”张守道转过身,目光灼灼地看着儿子,”还有你的心态。”
“心态?”
“你现在被公司捧得很高,被称为’古董程序员’、’代码救世主’,但你要记住,这些虚名都是过眼云烟。”
“你的使命不是当英雄,而是传法。把古法 Coding 传承下去,让更多人掌握手写代码的能力。”
“这才是我们张家世代相传的责任。”
张子烨深深地鞠了一躬:”儿子谨记父亲教诲。”
三
第 11 天。
学习班的课程发生了微妙的变化。
张子烨不再只是讲解代码怎么写,而是开始讲解代码背后的原理和思想。
“今天我们讲递归。”他在黑板上写下一个简单的递归函数。
1 | def factorial(n): |
“这个函数很简单,计算阶乘。但我要问大家一个问题——为什么要用递归?”
台下学员面面相觑。
“因为……简洁?”有人试探着回答。
“对,递归可以让代码更简洁,”张子烨点点头,”但还有更重要的原因。”
“递归的本质是什么?”
他在黑板上画了一个图:
1 | factorial(5) |
“递归的本质,是将大问题分解为小问题,直到问题简单到可以直接解决。”
“这是一种思维方式,不只是编程技巧。”
“在生活中,你们遇到过需要’递归思维’解决的问题吗?”
学员们开始思考。
“比如……整理衣柜?”一个女学员举手,”先把衣服分类,再把每类衣服细分,直到每一件都有归属。”
“很好!”张子烨赞许地点点头,”还有呢?”
“做项目规划?”另一个学员说,”先把大目标分解成小目标,再把小目标分解成具体任务。”
“没错!”张子烨兴奋地说,”这就是递归思维的应用。”
“代码不是孤立存在的,它是我们思维方式的体现。当你理解了递归的本质,你不仅会用递归写代码,还会用递归思维解决生活中的问题。”
“这就是’道’——代码之道,生活之道,思维之道。”
台下的学员们听得入神。
他们突然发现,代码原来可以这么有趣,这么有深度。
不再是枯燥的语法和逻辑,而是一种思维方式,一种解决问题的艺术。
四
第 15 天。
学习班已经过半,学员们的进步令人惊叹。
20 人中,已经有 10 人能够独立手写中等复杂度的功能模块,另外 10 人虽然速度较慢,但也已经掌握了基础。
更重要的是,他们开始理解代码的”道”。
不再是为了写代码而写代码,而是为了解决问题、表达逻辑、创造价值。
这天下午,张子烨给学员们布置了一个特殊的作业:
“用你们学到的知识,解决一个实际问题。”
“公司的食堂系统崩溃了,员工无法在线订餐。请手写一个简单的订餐系统,包括菜单展示、订单提交、订单查询功能。”
“时间为 4 小时,开始。”
学员们兴奋地投入到了项目中。
这是第一次,他们要独立完成一个完整的项目。
4 小时后,成果展示。
第一个展示的是王浩。
他的系统虽然简单,但功能完整,代码整洁,还加上了详细的注释。
“我用了 MVC 架构,”王浩介绍道,”模型层处理数据,视图层展示界面,控制层处理逻辑。这样代码结构清晰,易于维护。”
张子烨满意地点点头:”很好,你已经理解了架构设计的重要性。”
第二个展示的是一个叫李雪的女学员。
她的系统有一个亮点——加入了异常处理机制。
“我考虑到网络可能不稳定,所以加入了重试机制;考虑到用户可能输入错误,所以加入了参数校验;考虑到数据库可能故障,所以加入了降级方案。”
“虽然代码量增加了,但系统的健壮性大大提高了。”
张子烨眼中闪过一丝惊喜。
这正是他想看到的——不只是会写代码,还要考虑实际场景,写出可靠的代码。
接下来的展示一个比一个精彩。
有人优化了数据库查询,提高了性能;
有人加入了缓存机制,减少了服务器压力;
有人设计了优雅的错误提示,提升了用户体验。
看着这些作品,张子烨感到一阵欣慰。
半个月前,这些人还只会用 AI 生成代码,对底层原理一无所知。
现在,他们已经能够独立思考,独立设计,独立实现。
这就是传法的意义。
五
第 16 天早上。
张子烨刚到公司,就被陈明远叫到了办公室。
“有个好消息,”陈明远脸上带着掩饰不住的兴奋,”政府那边联系我了。”
“政府?”
“对,工信部。他们听说了你的事迹,想请你去参加一个紧急会议。”
“什么会议?”
“关于全国代码重建计划的会议。”陈明远压低声音,”据说,高层已经意识到问题的严重性,准备启动国家级应急预案。”
“而你,张子烨,被指定为技术顾问。”
张子烨愣住了。
他没想到,事情会发展到这个地步。
从一个被嘲笑的”边缘程序员”,到公司的技术总监,再到国家的技术顾问……
这一切,只用了半个月。
“什么时候?”他问。
“明天,北京,中南海。”
张子烨深吸一口气。
他知道,自己的使命,已经不仅仅是一家公司、一个行业了。
而是整个国家,甚至整个人类文明。
古法 Coding 的传承,将从这里走向更广阔的舞台。
【本章完】
