开发者须知的10个设计原则

移动开发
当我与开发者一起工作的时候发现,这些观念已经在程序员之中存在了–只是他们还没有把这个表达给设计师。还有很多需要去做,但是基础已经存在了,这难道不是好消息吗?

为什么我要在乎这些?

开发者也是设计师,他们只是使用不同的媒介。

因此,你知道如何设计系统也是你的最终产品的一部分。

关注于把底层设计的更加有用将会帮助确定以下事情:

对新加入的开发人员更容易上手

 

系统的可维护性及更改时的简易性

 

作为这个系统的一名开发者,你是多么的有效率

 

当我与开发者一起工作的时候发现,这些观念已经在程序员之中存在了–只是他们还没有把这个表达给设计师。还有很多需要去做,但是基础已经存在了,这难道不是好消息吗?

在我的例子中并没有任何实际的代码,因为我觉得人们对于编写任何软件的正确方式都太敏感了。

像设计师一样,程序员喜欢运用他们的创造力来解决复杂的问题。而我宁愿你考虑一下下面关于设计系统的规则,而不是按照一组严格的规定来说“这是解决XX问题***的方法”。

 

设计启发式是 什么?

 

启发式只是通过你的经验中学习。它是用于查找在用户界面的易用性问题,使得它们可以参加到作为迭代设计过程的一部分的方法。

我们得到3-5个启发式设计的专家来使用我们的产品,并判断它是否符合最基本的可用性规则,即“10设计启发式”合规,这是启发式的简化。

下面让我们开始吧。

 

1. 系统状态的可视性

 

曾经上传图像到一个网站?比如说一个社交网络的头像?

主要的原则是要使你始终可以了解上传的状态。上面的例子只是告诉你上传的状态。而看到它的进步使用户更加舒服,你不觉得吗?

[[144829]]

 

2. 系统和现实世界之间的匹配

 

当写文档或命名一个组成部分,始终尝试使用熟悉的术语。了解目标用户是谁,然后使用他们熟悉的单词、短语和概念。

 

3. 用户控制和自由

 

[[144830]]

系统应该允许你自由去探索其内容,但是以一种更加负责的方式,应该让你可以从你可能犯的错误中进行恢复。比如说支持“撤销”与“重做”。

 

4. 一致性和标准

 

苹果和微软都对“确定”和“取消”按钮的顺序有不同的意见。哪个更好?

 

 

 

 

都不好或者都好?当然,这并不重要,重要的是你要确保所有用户交互系统的一致性。

要做到这一点,你就不应该让你的用户困惑,为什么不一样的单词、不一样的环境或者操作确得到相同的结果。

 

5. 错误的预防

 

在错误可能发生的***个位置阻止错误是非常重要的。

当我们一开始的时候,就有QA人员来寻找产品中的缺陷以保证产品质量。然后把他们放到生产线上,让他们指出如何在***道工序开始就做出没有缺陷的产品。你会惊讶于这样的效率是多么的高,当你做的东西中的缺陷在***时间被发现而不是到***才被发现。

— Mary Poppendieck

6. 可识别性

显示出提升用户可用性的标识,这是另一个有帮助的内容。

CLI(命令行接口) 是一个完全无视这一原则的***的例子,通过这样,它演示了优雅(它用灵活性与效率来弥补了它所缺少的)。

 

7. 灵活性和使用效率

 

在你的系统上提供一个潜在的、隐藏的层,来帮助有经验的用户通过“噪声”,变得更加有效率。

Cli 就是这样一个“隐藏”界面的功能是可以多么强大的例子(我们甚至可以选择扩展)。

 

8. 简洁

 

最初被列为“审美和简约设计”。这一原理是关于提高信噪比的。

你提供给用户的所有数据都要有一定的约束–是否有臃肿的HTTP请求的占用带宽、充满缺陷的API、以及需要太多请求的交互界面。

尽量用最小的输入,获得***的产出。

 

9. 帮助用户识别、诊断和从错误中恢复

 

错误消息应该用平实的语言表达(没有代码),精确显示问题,建设性地提出一个解决方案。对用户是有用的。并且提供一个解决方案。

就像 这样。

 

10. 帮助和文档

 

在设计原则的列表中看到这一项,我和你一样感到惊讶。

即便没有文档也可以使用的系统,***也还是要提供帮助和文档。任何此类信息都应该易于搜索,关注用户的任务,列出具体的进行步骤,并切不应该太大。

责任编辑:chenqingxiang 来源: Specs
相关推荐

2015-08-12 11:09:42

开发者设计原则

2014-05-27 13:48:34

开发者付费

2011-03-30 08:49:34

WebjQuery

2010-07-28 14:21:43

Flex

2015-07-20 09:16:42

iOSWatchKit开发

2012-03-23 13:31:14

Windows Pho

2022-10-25 18:46:36

JavaScript

2015-09-01 09:31:00

Android M权限

2013-04-02 09:23:37

2011-03-17 15:25:31

2014-10-09 09:29:25

AngularJS

2015-04-21 12:54:21

2023-12-27 18:10:05

PyTorch工具框架

2011-10-11 10:07:37

2013-11-26 09:43:36

开发日志博客

2015-03-10 09:23:21

前端开发Sublime插件Sublime

2015-03-17 14:31:53

Web开发web开发者云开发环境

2023-06-26 23:32:11

人工智能Chat GPT工具

2014-07-21 10:00:37

框架HTML5框架模板

2023-11-17 14:18:48

开发编程
点赞
收藏

51CTO技术栈公众号