主要内容
本章逻辑如下:
我的思考
Q:为什么代码永远不可能自动生成?
- 写代码的目的,是为了使机器按照程序员思考的全部细节去执行,而这些细节,是不可能通过简单的一句描述就能够使机器理解到。比如:我需要实现一个快速排序算法,这个需求连目标是什么都没有准确传达(看起来是快,那么什么是快,要多快,对空间复杂度有什么要求?),更谈不上细节了。
- 要实现自动生成,看起来我们需要一个强人工智能,能够与程序员对话,将需求逐步细化。这要求强人工智能,能够完全理解需求并准确实现,相当于一个程序员了。
- 有什么代码是可以自动生成的么?我认为没有,都需要预先完成,并通过规则进行代码的组合,最终实现目标。
Q:写好代码的关键是什么?
- 1、端正态度,在意代码。包括但不限于:不将就:能优化的就优化,别拖;立即而不是稍后:发现问题立即优化,Later equals never
- 2、多阅读好的代码,糟糕的代码,学习别人的思考,建立代码感。要知道什么是好的,什么是不好的,这需要大量的阅读
- 3、多实践。多写代码,多将糟糕的代码优化为整洁的代码。
Q:对整洁代码的理解是什么?
- 1、理所当然的最佳实践:① 写出来的代码,和优秀程序员思考的一致;② 考虑了各种问题,对性能进行了调优。最终达到的目标是:没有人能够优化这段代码
- 2、易读:易读,就意味着易使用,能够适应需求的变更。包括:① 命名;② 逻辑;③ 简洁
写作方法与表达艺术
-
逻辑清晰
- 永远会写代码 -> 代码写不好,后果很严重,公司都可能因此倒闭 -> 写好代码首先要端正态度 -> 写好代码其次要建立代码感 -> 总结
-
关于什么是好代码这一节,引用了很多大佬的观点或者描述,更有说服力
-
客观而坚定,这需要大量积累和思考
- “扯淡!我们永远抛不掉代码”
- “实际上,书中很多建议都存在争议。或许你并不完全同意这些建议,你可能会强烈反对其中一些建议,这样挺好的”
- “无论你同意与否,如果你没看到或者不尊敬我们的观点,就真该为自己害臊