观看了《程序员修炼之道+从小工到专家》的第三章内容,当中的“基本工具的使用”令我受益匪浅。程序员要学会使用工具解决问题,作者与木匠作为类比,其实两者在使用工具的道理是一样的。

注重实效的程序员,我们的基本工具是知识,通过我们的设计、实现、测试、文档中表达我们的知识,我们使用纯文本来保存我们的知识,除非使用纯文本会让计算机花在计算的代价非常昂贵,不必担心当中重要的信息会泄露,往往会泄露的信息都是你没有进行加密处理的。计算机处理二进制可能会更加高效,那么,在不同的编译环境下,我们应选择满足我们要求的存储方式。另外,纯文本不会过时,人们总是可以读懂,因此更易于测试。

对于操作文本文件的程序员,shell命令就是工作台。通过shell,你可以启动应用、调试器、浏览器、编辑器以及各种实用程序,还可以搜索文件、查询系统状态、过滤输出等,而对于在GUI界面和集成开发环境的程序员,不要妄想可以完成在此环境完成所需的所有工作,因为GUI的好处是“所见即所得”,但缺点是“所见即全部所得”。程序员要超越集成环境的设计者提供的模型,而不能局限于可以很容易实现的操作。使用shell会让程序员发现自己的生产效率迅速提高。

注重实效的程序员需要精通至少一种编辑器,并可以用于实现所有的编辑任务,工具是手的延伸。还有学会使用源码控制系统,这样可以返回几天甚至几周之前的程序代码,即使你的团队只有你一个人,也要总是使用源码进行控制,确保这些工作当中的细节保存在仓库当中。把整个项目置于源码控制系统的保护之下具有一项很大的隐蔽的好处,那就是你可以进行自动的和可重复的产品构建。

作为程序员,调试程序中的bug是不可避免的,没有人能写出完整的软件,调试会占用大量的时间。但我们不能逃避,接受它并解决它。在职场中,你应该专注于修正问题,而不是发出指责。当项目期限接近时,不要恐慌,冷静下来,找到问题的根源解决。在项目的开发过程中,要尽可能多的测试不同的可能情况,与此随之产生的bug报告就很有参考意义。

程序员要学习一种文本操纵语言。

过去我在一再重复的任务面前,往往会想要取巧,而导致浪费大量时间,为此需要构建代码生成器,以减少出现重复工作带来的错误。被动代码生成器减少敲击次数,它们本质上是参数化模板。主动代码生成器只是一种便利手段。代码生成不一定要很复杂,代码生成器不一定要生成代码。

版权声明:本文为a155-原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/a155-/p/11740724.html