为了完成Java语言程序设计的课程考核,假期我把《构建之法》读完了。合上书仔细想想,平时写代码很多习惯都存在不小问题,也改变了我之前对软件工程很片面的看法。
不管是之前练习C语言,还是近期写Java练习题,我一直都抱着一个想法:代码能正常跑出正确结果,就算大功告成。写代码基本随心所欲,想到哪里写到哪里,变量名经常随便打几个字母,嫌麻烦很少写注释。代码写完直接提交,很少主动多测试几组数据。做小组课程项目的时候更是混乱,大家各写各的内容,快到截止日期才把代码拼凑到一块,出现bug再临时补救。我以前总觉得,代码规范、单元测试、版本控制这些内容都是锦上添花,没必要刻意遵守,抓紧时间实现功能才是首要目标。
读完《构建之法》之后,我才意识到这种想法并不合适。书中提到,能够运行的代码,并不代表是合格的软件。课堂练习的小程序只有几十行,代码混乱暂时不会有太大麻烦,但如果项目规模扩大,杂乱的代码会让bug极难排查。命名随意、缺少注释,隔一段时间再回头看自己写的程序,有时候我自己都很难理清逻辑。小组协作的时候,每个人的编码习惯不一样,前期没有统一标准,最后整合代码会产生大量冲突,白白耗费很多精力。这本书让我明白,写代码只是软件开发里的一环,前期规划、代码规范、测试、后期维护同样重要,只盯着程序能不能跑,目光太过短浅。
针对这些存在的问题,我也想好了解决办法,尽量避免以后继续犯同样的错误。以后编写Java程序,我打算调整自己的开发习惯:动手写代码前,先简单梳理整体逻辑;编码时遵守基础命名规范,重要的地方加上注释;代码完成后,主动设计测试用例,多检验边界情况。开展小组项目时,大家提前统一编码标准,划分好每个人的任务,经常性沟通进度。另外我准备学习Git管理代码,阶段性保存版本,防止代码改动出错难以恢复。依靠固定流程约束自己,慢慢摆脱“只要能运行就足够”的老旧思维。
如今各类AI工具可以快速生成代码,我之前也在疑惑,认真学习规范编码还有意义吗?这本书给出了我的答案。AI只能生成基础性代码,但是整体项目规划、分析用户需求、长期迭代维护,依旧需要人主导。代码仅仅是工具,工程化的思考方式,才是我们计算机专业学生最核心的能力。
这本书没有堆砌枯燥难懂的理论,结合很多真实开发案例讲解知识,很适合刚刚入门的本科生。这次阅读纠正了我初学阶段不少错误观念。后续学习Java以及其他专业课,我不能只关注程序能否运行,同时也要重视代码质量和完整开发流程。《构建之法》让我看清了自身存在的短板,也为之后的专业学习指明了方向。
