API Viscosity
What are the barriers to change inherent in the API, and how much effort does a targeted developer need to expend to make a change.
这个维度描述了改变已写代码的容易程度,可简称为易改性。当用户发现自己代码运行错误或者发现选用的方法不对,修改起来是否足够容易呢?
这里的修改通常是指那些比较小的修改,但是一个小的修改可能会产生“多米诺”效应:一个地方的代码变动会导致另一个地方的代码需要调整,接着又会导致另一处……这就要求API在设计过程中模块划分要合理,同时处理好它们之间的耦合程度。
修改代码是不可避免的,这和我们思考行为有关系,我们会在大脑中勾画一个方案,并不断的进行调整。那些高手可直接在大脑中就想出一些中等复杂问题的解,一般人也能在大脑中直接处理一些简单的问题,而那些大型而又复杂的问题,估计没有人能够直接通过大脑就能想出解决办法。
当问题越大越复杂,API的易改性的作用就越明显。
Consistency
Once part of an API is learned, how much of the rest of it can be inferred?
一致性也是API可用性需要考虑的,我们经常会注意产品界面是否具有一致性,比如同一个网站的每个网页的菜单样式是否一样,图标风格是否一样,字体类型、颜色、大小是否一样等等。
Green在他的文章中也将这个因素描述为API的可猜测性,也就是说使用者了解了部分API的使用方法后,是否能很顺利的猜出API其他部分的使用方法。
在地图API中,本地搜索接口的使用方式为:
var myLoc = new BMap.LocalSearch(map); myLoc.search("百度大厦");
当用户了解它的使用方法后,可以很轻松的使用公交导航、驾车导航等接口。
公交导航
var myTransit = new BMap.TransitRoute(map); myTransit.search("百度大厦", "中关村"); // 驾车导航 var myDrv = new BMap.DrivingRoute(map); myDrv.search("百度大厦", "中关村"); // 步行导航 var myWalk = new BMap.WalkingRoute(map); myWalk.search("百度大厦", "西二旗");
从上面可以看出,这些接口使用方法都非常类似,因此具有很高的一致性。 地图API中也存在一些一致性较差的问题,许多接口都要求提供offset属性,比如控件的位置偏移、标注、信息窗口的位置偏移。
当给控件添加偏移值时,采用的是下面的方法:
var ctrl = new BMap.ScaleControl({offsetX: 10, offsetY: 10});
出处:百度泛用户体验
责任编辑:bluehearts
上一页 认知维度与API的可用性评估 [6] 下一页 认知维度与API的可用性评估 [8]
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|