程员修炼之路:
主要讲解作为一个职业程序员如何成长,关于方法路,关于如何交流,如何选择工具,打磨工具,更新知识,少量关于debug和算法复杂度相关的知识。
比较令人印象深刻的是在bug面前不要先想“”这不可能“, “”这是可能别人的代码引入的错误”,或者在项目deadline面前出现bug比较恐慌,人为的恐慌无助于问题的解决,应专注于问题的解决。应该透过表面对错误之前的代码进行Tracking,找出可能的问题。
最可怕的一类的bug叫做Hessanburg bug,你debug的过程会对bug影像,这类bug多半是因为编译未明确定义的行为做成,类似i = i++; i = ++i; 你不知道到底实际上编译器是如何处理的。
关于代码的安全方面基本与华为可信要求差不多,不要用fget之类的危险函数,strcpy不要定义str(A, A+3)这种,不安全。但是这本书推荐在发布版本的代码中采用assert,我们不推荐的原因是如果断定不会出现这种情况,那么release版本assert会降低运行速度。
深入理解计算机系统
这本书基本上是讲计算机程序运行的原理,不是操作系统原理
1、程序的机构和执行 信号和程序的表示和处理 处理器架构和存储结构 优化程序性能
2、在系统上运行程序 程序链接 和 内存管理 以及异常控制流
3、程序间的交互通信 主要说系统IO 网络编程 以及并发编程(进程线程信号传递)
扫描二维码关注公众号,回复:
14616460 查看本文章