大道至简读书笔记
这学期刚碰软件工程,只有大一那点C语言底子。之前刷视频,看那些博主嘴里往外蹦UML、RUP、敏捷、螺旋模型,一堆缩写甩出来,像另一套语言。弹幕里人人都懂,只有我盯着屏幕发愣,什么也看不懂。那时候心里是真发虚,甚至觉得,是不是自己压根就不适合干这行,只是硬着头皮在混学分。
周爱民这本《大道至简》倒没那么多废话。薄,好读,没有那种居高临下的说教感,没打算教育我,反倒像是坐我对面,把我那点小心思拆开来聊。
开篇拿愚公移山说事,我看到那笑了。以前写C作业,我就是这个愚公。拿到题就敲,边写边改,出了bug硬调,经常折腾一晚上才跑通。那时候还觉得自己挺刻苦,现在回头看,纯粹是蠢。我从来没想过先停五分钟,哪怕是在草稿纸上把输入、输出、数据流向画一画。脑子里一团浆糊,指望代码能自己长对,这不是编程,这是在赌运气。书里说李冰修都江堰知道先勘测地形、顺水势而为,我呢?我连流程图都懒得画,全靠编译器报错来帮我找逻辑漏洞。别人是写代码,我是跟代码打架,打赢了也没成就感,只是累。
关于语言之争那段,以前刷视频看人吵C、Python、Java,吵得不可开交,我也跟着焦虑,怕自己押错了宝,怕以后找不到工作。现在觉得有点蠢。语言就是个工具,C能写顺序、分支、循环,别的语言也一样。纠结这个除了浪费时间,没别的用。就像你拿锤子和拿钉子枪都能把钉子敲进去,你非要论证哪个更高级,还不如多练练手劲。我现在写C,能把指针和内存地址搞明白,以后换什么语言都不是事儿;现在要是只会跟风,换十个语言也还是个半吊子。
文档和UML那块,他说UML对客户来说就像甲骨文。这点我信。以前老师逼我们画UML图、写注释,我就是随便凑几行应付检查,从来没想过这是给人看的。那时候觉得代码能跑就行,注释是给老师看的作业,图是给评分标准凑数的。现在回头看自己几个月前写的代码,我自己都看不懂,注释全是废话,什么“i++表示i加一”,这种屁话写它干嘛?真正该写的是“为什么要在这里i++”。我现在算是有点明白了,注释不是写给老师的,是写给三个月后的自己的。那时候你可能已经忘了当时的逻辑,如果连注释都靠不住,那你只能重写。
书里说流程是辅助,不是目的。这点挺狠的。我本来还想把那些瀑布模型、螺旋模型背一遍,显得自己懂点东西,好在课上能接两句话,显得我不是外行。现在想想真没必要,甚至有点可笑。连C语言的基础逻辑都没练熟,连数组和链表都玩不转,背那些名词除了能在课上接两句话,有个屁用?就像地基都没打稳,天天研究楼顶用什么瓷砖好看,风一吹全塌了。
整本书读完,最大的感觉就是——别装。别被那些大词吓住,也别急着追新框架。现在的技术迭代太快,今天学这个,明天那个又火了,追到最后发现自己什么都没留下。顺序、分支、循环,就这三样东西撑起了所有软件。不管你上面叠了多少层抽象,底下跑的还是这几样。我现在唯一要做的,就是写代码之前先想清楚,别一上来就敲键盘。把逻辑理顺了,把边界条件想透了,再去写第一行代码。哪怕慢一点,也比写完再花三倍时间去调试强。
就这么点事。大道至简,原来真的不是一句空话,它就是告诉你:少点浮躁,多点踏实,先把眼前这点基础打牢了,再去想别的。

浙公网安备 33010602011771号