读书之《程序员修炼之道:从小工到专家》十月第一篇
本博客为笔者阅读《程序员修炼之道:从小工到专家》的读书笔记十月第一篇,也是整个过程的第一篇,值得一提的是,每月两篇正好八篇,而本书正好八章,因此每一篇博客都将是对于对应章节的记录和感受描写
本篇仅包含对于本书第三章内容的感触
在开始之前笔者还想说两句题外话,yysy,这个十月份过的也太紧张了,无论是活动事务还是学习事务感觉都过于繁重了,基本上每天都是连轴转着实是有点吃不消,不过还是希望自己能更集中于学习上
14 纯文本的威力
本节主要介绍了文本的作用,其中让我印象深刻的有这么一段话
许多新程序员都会犯下错误,采用单一的强力工具,比如特定的集成开发环境(IDE),而且再也不离开其舒适的界面。这实在是一个错误。我们要乐于超越IDE所施加的各种限制。要做到这一点,唯一的途径是保持基本工具集的“锋利”与就绪。
这段文本其实不只是对于编程环境实用,它更反映了一种社会现象,无论是程序员还是其他职业,即走入了舒适圈后就不愿意再往外走,以其中的IDE开发环境为例,虽然我目前并不是非常了解,但是以我自己经历来说,用过了好用的编程软件确实就不愿意再返回去用一些相对比较老的软件
此外,作者主要在其中列明了三个点
1、纯本文由可打印字符组成,人可以直接阅读和理解其形式。
这里强调可打印含义是字符时经过编码的可阅读字符,而不是二进制。这在现在看来几乎是不用争辩的,谁还会用二进制存储信息,但当时计算机算力和存储都有限,纯文本会占据更多空间,解码会耗费算力。但源于技术的发展,这些都是可以忽略不计了。
2、纯文本的优点之一:保证不过时。这一点需要我们扩展纯文本能够自描述。自描述的含义是它自己能告诉我们它的含义。
3、另外两个优点是杠杆作用和更易于测试。这里说的是我们可以利用各种工具 diff、fc、git,或一些语言例如 Python 等对纯文本进行各种调整和查看工作。
15 Shell游戏
首先,对于操纵文本文件的程序员来说,他们的主要占场就是shell命令,利用shell我们可以启动各种应用/同样可以查询系统的状态,并且通过shell基础构筑复杂高大的代码架构,作者后面对于GUI的描述我不是很理解,但是我大概知道它是和Shell类似的一种工作台架构,通过作者的描述,Shell比起GUI来说,它的操作方式会更加晦涩难懂,但是一旦你理解掌握之后就会非常容易,可以极大提高效率,同时可以做很多的搭配组合,实现自动化
16 强力编辑器
像工匠一样定期增添增加的工具,时刻保持着寻求更好的解决问题的方式的想法。如果当前的工具不能够解决问题,记得寻求更有利于你当前状况或者更强大的工具。
不要太依赖于特定的集成开发工具(IDE),有些时候出现问题的地方不一定会存在你的开发工具。我们要超越IDE所施加的限制,要做到这一点的途径就是保持基本的工具的锋利和就绪。如果你没有高超的调试技巧,那么你就不可能成为一个优秀的程序员。 投入一定精力去熟悉自动化脚本,会提高自身很大的工作效率。
要接受一个事实就是调试就是在解决问题,bug无论是谁的过错,现在在你的手里就是你的问题。在技术竞技场上,应该专注于修正问题而不是发出指责。在调试bug之前,尽量先让自己的代码没有警告。把时间浪费在编译器能够为你找到的问题上没有意义。之后可以使用DDD调试器让自己的数据可视化。不要去假设,要去证明。
17 源码控制
作为一名有职业素养的程序员,自己的源码应该有自己的风格,如果没有如上边所说的合适的调码技巧,那就无法成为一名优秀的程序员,即使项目再小,团队的规模再小,我们也应该总是使用源码控制
18 调试
橡皮鸭,也叫小黄鸭调试法。遇到无法定位的问题时,对着小黄鸭(屏幕)解释自己的实现逻辑,很可能在说的过程中你自己就发现了问题所在。
不要第一时间怀疑 OS,IDE,三方库的问题,他们出问题的概率比你代码出问题概率小得多。我们应该首先确认和排查自己的问题。
19 文本操纵
这一节其实我不是太理解,表面上讲的是通过程序读取操作文本加快工作效率,但是深化到具体内容中就不太理解
20 代码生成器
也是体现了DRY原则,不过好的代码生成器要求还蛮高的。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步