程序员必须掌握的8个核心技能!( 三 )


一个优秀的开发人员绝不允许他的代码在交给别人之前不经测试 , 我想这是不容置疑的 。
08、调试说句实在话 , 在我做程序员的这 10 年里 , 调试代码的时间比编写代码的时间要多得多 。因为解决 bug 的难度要比创造 bug 难得多 , 首先你要先复现问题的场景(真的是难啊) , 要复现问题就需要你拥有出神入化的调试技巧 , 否则只能锤爆鼠标 , 然后大喊“为什么 , 为什么 , 为什么我的代码无法正常运行呢?”
入门级的调试很简单 , 你只需要在发生问题的代码处打个断点 , 然后再跑一跑 , 就能从堆栈信息和代码的上下文中发现问题 。难度再上升点的话 , 就需要你创造代码执行的条件;再难的话 , 你甚至需要内网穿透 , 比如说微信公众号开发;再再难的话 , 就不是一句半句能说得清楚了 。
总之呢 , 调试就是为了让你弄清楚代码不能正常运行的真正原因 , 如果你的调试技巧不过关的话 , 甚至有可能会被表象蒙骗 , 从错误的角度去修改 bug , 从而引发更多、更大的问题 。
最近 , 有不少读者问我是怎么学习的 , 那我干脆就把我看过的一些优质书籍贡献出来:

  • 计算机基础入门推荐:《程序是怎样跑起来的》、《网络是怎样连接的》、《计算机是怎样跑起来的的》
  • 进一步认识计算机网络:《计算机网络:自顶向下》、《图解http》
  • 数据结构+算法入门:《大话数据结构》、《阿哈算法》
  • 算法进阶:《算法第四版》、《编程珠玑》
由于我是 Java 技术栈的 , 顺便推荐几本 Java 的书籍 , 从左到右的顺序看到
  • Java:《Java核心技术卷1》、《编程思想》、《深入理解Java虚拟机》、《effective Java》、《Java并发编程的艺术》
  • 数据库:《MySQL必知必会》、《MySQL技术内幕:InnoDB存储引擎》




推荐阅读