《大道至简》读后感
在信息爆炸的时代,各类知识和信息如潮水般涌来,生活和工作似乎也变得越来越复杂。而《大道至简》这本书就像一阵清风,吹散了萦绕在我心头的复杂迷雾,让我重新审视简单的力量。
作为计算机专业大一学生,目前的编程学习还停留在个人练习阶段,接触最多的就是C++作业。本以为《大道至简》这类讲软件工程的书会离我很远,读了才发现,它就像一把小刷子,轻轻扫去我对编程的模糊认知,让我这个只写过个人代码的新手,也摸到了软件工程的边。
刚开始写C++代码,完全凭心情来。比如写一个计算斐波那契数列的程序,变量名随手用 n m ,循环里套着复杂判断,代码缩进乱七八糟。写完功能跑通就扔在一边,过两周回头看,自己都忘了当初的逻辑。遇到编译报错,盯着红色提示发呆,要么从头重写,要么瞎改几个符号碰运气,从来没想过“为什么错”。那时觉得编程就是“实现功能就行”,哪知道还有那么多门道。
《大道至简》里说“好的代码是自解释的”,这让我脸红。我那些随意命名的变量、毫无结构的代码,别说别人,自己过段时间都看不懂,完全违背了“简单清晰”的原则。书中还提到“调试是有逻辑的过程”,而我之前全靠瞎蒙,就像解数学题不写步骤直接写答案,错了都不知道错在哪。原来软件工程的思维,哪怕在个人编程里也用得上——不是只有团队项目才需要规范,自己写代码时的条理,也是一种“工程意识”。
作为改变,我尽量让注释不再偷懒,会写下“这里用了递归,注意输入范围”这种提醒。虽然只是个人练习,但代码清爽了,自己看着也舒服,改起来也快,这大概就是书中说的“简单带来的效率”吧。遇到C++报错,也不再慌了。学着按书中说的,先看报错位置在哪一行,是“未定义标识符”还是“类型不匹配”。比如上次写数组越界,盯着 for(i=0;i<=n;i++) 看了半天,突然想起书中说“循环边界要多检查”,才发现把 < 写成了 <= 。比如写一个统计字符串中字母出现次数的程序,之前编译时提示“‘count’未声明”,放在以前可能会随便加个 int count 试试,现在会先检查是不是拼写错了(比如写成 cout ),或者是不是在使用前忘了定义,顺着报错信息一步步排查,很快就发现是把 count 写成了 conut 。现在调试像玩侦探游戏,跟着线索找问题,比以前瞎改省了一半时间,原来“按逻辑做事”这么管用。
以前写完代码随手存在“新建文件夹”里,文件名都是“作业1.cpp”“测试2.cpp”,想找上周写的排序算法根本记不住在哪。
现在学着按功能分类建文件夹,比如“排序算法”“数值计算”“字符串处理”,文件名也改成“冒泡排序.cpp”“求素数.cpp”,还会在每个文件夹里放一个简单的txt文档,记下每个程序的功能、编写时间和遇到的问题,比如“2024.10.15 写冒泡排序时,忘记交换变量需要临时变量,导致结果错误”,下次再写类似代码时翻一翻,能少踩很多坑。
《大道至简》让我明白,软件工程不是遥不可及的大概念,而是藏在每一行代码里的小习惯。哪怕现在只写C++个人作业,把代码写规范、把调试理清楚、把文件管理好,也是在培养自己的“工程思维”。未来就算遇到团队项目,这些小习惯也会像地基一样,帮我更快跟上节奏。对我这个新手来说,这大概就是读书最大的收获——原来把简单的事做好,就是在靠近专业。

浙公网安备 33010602011771号