随笔 2201

Demon.Lee 2022年04月04日 889次浏览

2022 年 4 月 3 日,星期日,晴。

连续第 4 天头痛不舒服,嗓子也难受,又在这疫情严重的时候,焦虑更甚。昨天做了核酸,阴性,算是解除了担忧,但头痛依然。今天去医院,医生开了 300 块的药(药可真贵),只希望明天能好转。反思自己,应该是锻炼少了,后面得加强。

这几天头痛,不仅书不怎么能看进去,视频也看不进去。不过一直躺着也没好转,今天就索性坐起来,逼着自己打开了笔记本。

看了 90 分钟左右的电影,名字叫《紧急迫降》。因为前几天在广州失事的 MU5735 航班,无意中知道了 1998 年上海虹桥机场一架飞机因前起落架故障无法正常降落的故事。有时候人生真是无常,有一个健康的身体,生活在没有战争的国家,并且还有一个治安不错的社会,其实已经很幸福了。而我们要做的,就是在守护这些的基础上,再稍微努力努力,把生活质量往上提一点。

除了看了会电影,也看了 90 分钟左右的书。主要看了《程序员修炼之道(第2版)》中关于“重构”和“为编码测试”两小节的内容,写的真是好。大师们对软件中很多事情的理解真是透彻,这里忍不住要将一些观点总结一下:

  • 软件更像是园艺而非建筑——它更像一个有机体而非砖石堆砌。也就是说,软件更像是不断优化的植物园,而不是一锤子买卖的建筑。

    你根据最初的计划和条件在花园里种植很多花木。有些茁壮成长,另一些注定要成为堆肥。你会改变植物相对的位置,利用光和影、风和雨的相互作用。过度生长的植物会被分栽或修剪,那些不协调的颜色可能会转移到更美观的地方。你拔除杂草,给需要额外帮助的植物施肥。你不断地监测花园的健康状况,并根据需要(对土壤、植物、布局)做出调整。

  • 重构始于 Smalltalk 社区,但其核心是重新设计。

  • 重构应该是时刻进行的,不要找没有时间的理由,因为时间越久,代码腐烂的越快,成本更高。

  • 重构和添加新功能不能同时进行,这样可能会更糟。

  • 测试与找 Bug 无关,它更重要的引导我们思考:要写的程序,其需求是什么,测试数据哪里来,入参又是什么。

  • 测试是代码的第一个用户。

  • 硬件中的芯片一般都会设计成可测试的,在工厂中、在安装时、在部署场景下都能测试,所以软件也应如此。

  • 测试其实就是验证代码是否符合契约,是否满足其承诺的功能,而边界条件的测试往往是其中不可或缺的一部分。

  • 测试、设计、编码——都是在编程,测试也是一种与其他开发人员进行交流的方式。

我不禁感慨,我何时才能有大师一样的功力?路漫漫啊。

晚上看了一本《读库》出品的漫画《一根棒》。第一个故事有点暖,最后一个故事的反转有点意思。而那个关于孩子的故事,值得作为家长的我们反思:是否忽略了他们真实的想法,是否缺乏沟通,缺乏聆听?其他几个故事没怎么看懂,可能是我智商不够,或童真不够?哦,想象力不够。

最后,还在视频号上发布了第一条视频。虽然拍的有些粗糙,但主要还是先体验一把,有个感觉。


其他,没了。

晚安。