`
tan_bw
  • 浏览: 20476 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

《高效能程序员的修炼》读书笔记(四)——需求设计和质量管理

阅读更多

需求设计 

 

1.用户界面就代表了软件。用户界面须优先设计。 草拟用户界面的时候必须置身于技术开发环境之外。(原型是必不可少的与客户进行交流,需求分析的工具,好的原型可以取代大部分需求说明书的功能)

 

2.理想情况下每次搜索只需 显示一个结果 (结果的排序至关重要,排在后面几页的数据几乎没人去看)

 

3.用户只会阅读界面上足以让他们完成任务的,最少量的文字(用户不想被海量的互联网信息淹没,同时也不想被无关的信息干扰而思考的太多) 

 

4.不要把所有东西都塞进底栏以上的区域。小心那些恰好跟底栏持平的生硬的水平线。避免页面内的滚动条。 重要的内容尽量靠近顶部。

 

5.费茨定律不仅是关于“把东西做得更大一点使得点击起来更容易”,它还指导我们尽可能去利用屏幕边缘的自然边界(在屏幕的四个边缘中总有一个离用户的鼠标或光标最近)

 

质量管理

 

1.使用大量的测试用例进行测试

 

 2.测试先行:单元测试可以证明你的代码是能真正解决问题的(测试关注的是具体的输入能达到的输出效果,实际上这也是用户所关注的,单元测试促使我们从代码是否能满足可用性需求的角度去思考)

 

3.有些bug是无关紧要的(用户不会那么操作),真正的测试人员讨厌你的代码(他们会千方百计搞破坏),用户是疯狂的(用户使用软件的偏好和他们的环境各有不同)

 

4.如果你不找真正的用户(最终用户)做可用性测试,你无法知道你的程序是否正常工作(最终用户的行为是不可预知的,除非去观察他们的实际行为)

 

5.应该安全地修复问题,不要把所有问题都抛给用户。如果不能安全地修复问题,要竭力保护用户的数据。(重视用户的反馈,尤其是那些频发反馈的问题。与功能是否强大相比,用户更关心他们的数据是怎样的)

 

6.在平均缺陷发现率上面....设计和代码审查平均功效可以达到55%和60%(这里指的是同级审查,也就是找一个别的项目组的开发来看你的代码。一个人的视角是有限的,多一个人看你的代码就可能多发现一种问题)

 

7.AB测试就像是砂纸,你可以用它来打磨一些细节,但永远达不到创新的目的。 (AB测试是两套选项的对比,对比就意味着两者必须有相似的地方,换句话说它们的思路不可能大相径庭而且有创新性)

 

以上摘自《高效能程序员的修炼》一书,括号里面是博主自己的理解

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics