程序员修炼之道读后感2


第三章:基本工具
基本工具是程序员的利器,而书中对于纯文本、shell命令、强力编辑器等工具的介绍则为我们提供了更多的思考。掌握这些基本工具,不仅可以提高编程效率,更可以加深对编程原理的理解。
14、纯文本的威力。现代操作文本的工具,没有不支持纯文本的,因此毫无疑问它可以作为很多工具的媒介,甚至作为简单的数据库。

15、shell游戏。我们这代程序员,特别是没有接触过Unix的,对shell命令很有嗤之以鼻个感触,原因就是很多能用鼠标一点就打开的东西,用shell命令得输入半天。我不否认这点,但作为开发人员,尽量去减少手在鼠标和键盘之间的移动,这能大大的提高开发效率,这点也毋庸置疑。我曾经就想过买一款鼠标和键盘集成在一起的键盘。事实上没有几款这样的键盘,原因就是鼠标能做的事情,大多数能通过键盘去实现。相反的,键盘能做的事,鼠标却很少能做到。

16、强力编辑。我现在一写代码,就需要打开VS,并且VS上还必须安装这VA。在我看来,这两者搭配,组合起来的效率比我直接使用文本编辑器如Emacs、Vim等要高的多。我需要语法高亮、自动对齐、自动补全等功能。而这些事实上都能通过Emacs等工具来实现,只是我们要学会使用Emacs而已。有一点尤其重要,如果我要使用一种VS不支持的语言去编程,怎么办?或者如果你只是简单的想要测试一个算法,你是否需要打开VS,新建一个工程去测试?这只是很简单两个例子,具体的能提高生产率的方式,要多的多,因为我本人就昨晚花了点时间研究了下使用那些小工具,所以很多优势我还没能说出个所以然。

17、源码控制。在学校做一个项目的时候,一共四个人,当时一直在想,如果我们四个人同时编码,万一要修改公共的部分,怎么办?直到上班了,才知道还有源码控制这么个工具。说白了,就是建立一个数据中心,记录你修改交由它管理的文件的过程。不管是工作项目,或者你自己的小项目,都可以这么管理。我们公司用的SVN,以前只用过客户端,昨晚研究使用了一下服务器建立(也建立在本机上)。不过目前我还只会把仓库建立在本地上,一旦硬盘坏了,就是个杯具了。等会去找一个能使用网路进行源码控制的工具。

18、调试。关于调试,我就看到我同事桌上有两本windows调试的书,都厚达1000页。可想而知调试也是一门比较难的技术。本书没有讲述具体调试技术,主要讲述的是调试过程中应该注意的事项,包括要追究问题的根源,不要厌恶Bug,如果你写的代码够严谨的话,BUG就是给你提高自己的机会。

19、文本操纵。上次做项目的时候,用到了好多宏,比如判断某个指针为空就break的宏,判断某个函数返回值为false就break的宏等等。另外有时候有必要为源文件写一个固定格式的注释,指明代码用途,版权信息等。有没想过,其实这些工作可以用脚本语言去帮助自动实现,比如一创建新文件,就自动加上了版权申明等格式字符串。书中有个特别好的例子,就是一段代码操作一个数据库,这个数据库现在的字段什么的都是固定的,所以代码里面都是根据字段来操作,如果以后我们修改了数据库字段,那么就需要去修改代码,假如我们使用脚本语言将数据库的字段映射到代码中,这不就一劳永逸么?(始终觉得我描述的不好。 )所以很有必要学一门文本操纵语言。

20、代码生成器。分为被动的和主动的两种。主动的就相当于集成在你需要编译的环境里,每次编译都会更换。被动的需要单独去触发一次,以后就不用触发了。这里的代码生成器就类似于上面文本操纵中举的例子。

posted @   起名字真难_qmz  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示