程序员从小工到专家阅读笔记之二

  第三章《基本工具》由纯文本的威力、shell游戏、强力编辑、源码控制、调试、文本操纵和代码生成器这几节组成。

  首先是纯文本。纯文本由可打印字符组成,人可以直接阅读和理解其形式。Xml、html等都是很好的纯文本语言。但是纯文本语言有两个主要缺点:与压缩的二进制格式相比,存储纯文本所需空间更多;要解释及处理纯文本文件,计算上的代价可能更贵。当然也有优点:保证不过时,杠杆作用,更易于测试。

  对于操作文本文件的程序员,工作台就是命令shell,在shell下进行各种活动。一个合适的编辑器可能对于我们的文本操作有很大帮助,精通一种编辑器,并将其用于所有编辑任务,否则,有可能面临现代的巴别塔大混乱。源码控制系统可以追踪在源码和文档中做出的每一项变动。把项目置于源码控制系统的保护之下,我们就可以进行自动的和可重复的产品构建。

  一个系统中肯定存在各种bug,在开始查看bug之前,首先确认没有警告,但我们没有必要把编译器警告级别设置的很高。使数据可视化,观察数据的变化。当遇到让人惊讶的bug时,我们不仅要修正它,还要确定先前为什么没有发现这个故障。我们可以构建代码生成器,构建好之后,我们可以在整个项目周期去使用它,节省我们的时间,不花费什么代价。

  前面就大概的将本章内容叙述了一下,下面说说个人感受。之前编程序时,只要没有错误,能成功我就认为可以了,根本不重视警告的问题。现在知道这是不可以的,有些未知的bug可能就存在于警告当中。以后要注意警告问题,尽量避免警告,消除警告。

时间: 2024-12-29 11:34:52

程序员从小工到专家阅读笔记之二的相关文章

程序员从小工到专家阅读笔记之三

还没有把<程序员修炼之道:从小工到专家>这本书读完,把第四章的阅读笔记写一下. 本章由五节组成,分别是按合约设计.死程序不说谎.断言式编程.何时使用异常和怎样配平资源. 完美的软件不存在,目前也没有人写出完美的软件.与人打交道是最困难的,与人打交道的方法也可以应用于编程,确保坦率的最佳方案之一就是合约,按合约进行设计,客户和供应者按就责任与权力达成共识,双方履行义务,每个人都从中受益. 死程序不说谎主要讲了程序能按预期的运行,于是我们很容易掉进“某事不可能发生”的心理.但是存在很大的风险,不要

程序员修炼之道——从小工到专家阅读笔记02

在注重实效的途径中,为我们介绍了一些原则. 首先是重复的危害.其中有一句关键,系统中的每一项知识都必须具有单一,无歧义,权威的表示.——不要重复你自己.有些重复是强加的,比如说建立具有重复信息的文档,在不同环境下重复的定义,编程语言中的重复结构,但是有一些方法可以把重复信息放在一处.比如在头文件中定义了一个定义,而在其他文件中就没有必要再去定义.无意的重复,一般来自于设计中的错误,比如在定义线段的起点和重点的时候,就不要再定义长度,因为长度是一个可以计算出来的变量.无耐性的重复,有的时候写代码往

从小工到专家阅读笔记03

调试的痛苦 这是痛苦的事:看着你自己的烦忧,并且知道不是别人,而是你自己一人所致. ——题记 作为一名软件工程系的学生来说,我相信有很多同学和我有相同的感触:那就是编写的程序没有报错,但就是调试不出来.众所周知,调试 Bug是每个程序员工作中必须品,但是这个过程是极其痛苦的. 大家应该都有这样的经历吧:“ 终于编完了! 第一次运行, 出错了...... 为啥呢? 我知道哪出问题了. 在运行一次, 又出错了...... 这次又为啥呢? 这次肯定OK了. 再试一次, ......” 哈哈,看到这段经

从小工到专家阅读笔记02

活到老,学到老 知识上的投资总能得到最好的回报 ——题记 <程序员修炼之道 从小工到专家>中有句话是这样说的:“你的知识和经验是你最重要的职业财富.遗憾的是,它们是有时效的资产,随着新技术.语言及环境的出现,你的知识会变得过时.”IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识.随时补充和丰富自己,已成为程序员职业发展的核心竞争力. 众所周知,现在是一个知识爆炸的时代,知识更新非常快.据测算,一个大学毕业生所学到的知识,在毕业之后2年内,有效的不过剩下5%.对于软件

《程序员的自我修养》阅读笔记(一):

第一章  温故而知新 北桥(Northbridge):高速芯片,连接CPU.内存.高速图形设备. 南桥:汇总磁盘.usb.键盘.鼠标等再连接到北桥. SMP(对称多处理器),多核处理器可以看作是SMP的简版. 可重入与线程安全:一个函数被重入,表明该函数没有执行完,而被重新调用.可重入是并发安全的强力保证. 第二部分 静态链接 第二章  编译和链接 第三章 目标文件里有什么 目标文件中通常包含:代码段(指令).数据段(全局及静态变量).BSS(未初始化变量等,事实上为空).

《程序员修炼之道》读书笔记

<程序员修炼之道>读书笔记 提供多种选择,不要找接口 出了问题后,要提出各种解决方案的选择,而不是找借口:不要说事情做不到,要说明接下来做什么来挽回局面: 不要容忍破窗户 我们看到过整洁.运行良好的系统,一旦窗户开始破裂,就相当迅速的恶化: 不要留着破窗户不修:发现一个bug就修复一个,如果没有足够的时间进行恰当的修理,就用木板先订起来:或许你可以先把代码注释起来,或是显示"未实现"的消息:采取某种行动防止进一步的损坏,并说明情形在你的控制之下: 投资知识资产 我们喜欢把程

黑马程序员_JAVA UDP网络编程学习笔记

一.UDP网络编程概述 采用TCP协议通信时,客户端的Socket必须先与服务器建立连接,连接建立成功后,服务器端也会持有客户端连接的Socket,客户端的Socket与服务器端的Socket是对应的,它们构成了两个端点之间的虚拟通信链路.与TCP通信不同,UDP是面向无连接的.不可靠的基于数据包的传输协议.即应用进程(或程序)在使用UDP协议之前,不必先建立连接.自然,发送数据结束时也没有连接需要释放.因此,减少了开销和发送数据之前的延时.UDP也采用端口来区分进程. 在java中,java.

《程序员修炼之道》读书笔记②

概述 花了几天时间看完了程序员修炼之道,有很多感悟,记录于此,供自己开发时参考,相信对其他人也有用. 值得一提的是,这本书写的非常好,很多大牛在走了很多弯路之后再读这本书都很感慨没有早些读. <程序员修炼之道>读书笔记① 弯曲,或折断 解耦与得墨忒耳法则 1.函数的得墨忒耳法则规定,某个对象的任何方法都应该只调用属于以下情形的方法:它自身:传入该方法的任何参数:它创建的任何对象:任何直接持有的组件对象. 2.委托服从得墨忒耳法则,从而减少了耦合. 元程序设计 1.元数据是关于数据的数据:要用元

Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一年……我在博客园-_-#,希望用dt的代码燃烧脑细胞,温暖小心窝. 上篇<Hadoop阅读笔记(一)——强大的MapReduce>主要介绍了MapReduce的在大数据集上处理的优势以及运行机制,通过专利数据编写Demo加深了对于MapReduce中输入输出数据结构的细节理解.有了理论上的指导,仍