《给产品经理讲技术》读书笔记(四)

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

上篇文章给大家介绍了客户端技术“ 《给产品经理讲技术》读书笔记(三) ”,接下来就看看开发技术。

《给产品经理讲技术》读书笔记(四)

三、开发技术

“空指针”是什么。顾名思义就是指向空的指针。但是“空”是一种极度抽象的概念,管理员立一块箭头牌子,总得把它指向某个具体的地址。既然没法指向真正的“空”,那就在内存中模拟出一个地址来代表“空”。具体指向没有明确的统一规定,不同的系统可以指向不同的地址,不过一般情况下,会指向0地址,访问它是非法的。大部分空指针的Bug是隐藏在代码的茫茫大海中的。不过,因为改起来很简单,程序员可喜欢改空指针的 Bug了,可是简单修复了空指针后会引发哪些后续问题,很多程序员就不会去考虑了。

“越界”是什么。发生数组越界的原因很简单,假设一 个列表中只有10个元素,但是某个函数偏偏要取列表的第11个元素,就会产生“数组越界”。程序员要存储的数字超过了他选用的数据类型所能表示的最大范围时,就会发生数据范围越界。

“起名”有多难。程序设 计里最难的两件事,一件是保证缓存一致性,另一件就是命名。编程五分钟,命名俩小时。在命名的时候,什么是Manager、Controller,什么又是Interface, 需要程序员通盘考虑。如果命名不当,后期维护的成本是很高的。

耦合与解耦。“解耦”和“耦合”是对立的,产生了耦合才需要解耦。耦合是代码结构设计中产生的问题。当公司需要开发一个应用时,往往会将应用中的 各个功能分配给不同的程序员,但各个功能在联动时会直接互相调用对方提供的方法,这就是耦合的温床。解耦就是把耦合的东西在拆分出来,并且不影响原先的结构,解耦是每一个程序员非常反感的事情。

“Bug”有些不能改。不是所有的Bug都是可以改的,世界上没有Bug的代码是不存在的,有些Bug开发是知道的不过修改这个可能会引起更多的Bug所以没有人想去冒这个风险。

“编不过”是什么呢?下篇文章会详细给大家介绍,感兴趣的同学可以去看看。

以上就是“《给产品经理讲技术》读书笔记(四)”的内容了,如果你还想了解其他相关内容,可以来 产品壹佰 官方网站。

随意打赏

提交建议
微信扫一扫,分享给好友吧。