10个对开发者非常有用的设计原则

训练集、验证集、测试集!YOLO系列标签数量统计! 【代码】训练集、验证集、测试集!YOLO系列标签数量统计! 阅读详情

转自:http://www.codeceo.com/article/10-tips-for-designer.html

要点:我会尽力解释Jakob Nielsen的10设计启发式算法。我会用例子告诉你,作为一名开发人员,如何使你的产品以及你产品背后的代码更加有用。

10个对开发者非常有用的设计原则

为什么我要在乎这些?

开发者也是设计师,他们只是使用不同的媒介。因此,你知道如何设计系统也是你的最终产品的一部分。

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

  • 对新加入的开发人员更容易上手
  • 系统的可维护性及更改时的简易性
  • 作为这个系统的一名开发者,你是多么的有效率

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

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

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

设计启发式是什么?

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

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

下面让我们开始吧。

1. 系统状态的可视性

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

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

10个对开发者非常有用的设计原则

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

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

3. 用户控制和自由

10个对开发者非常有用的设计原则

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

4. 一致性和标准

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

10个对开发者非常有用的设计原则10个对开发者非常有用的设计原则

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

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

5. 错误的预防

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

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

— Mary Poppendieck

6. 可识别性

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

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

7. 灵活性和使用效率

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

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

8. 简洁

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

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

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

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

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

就像 这样。

10. 帮助和文档

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

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

总结

我希望这对你是有帮助的。如果你有任何问题或看法,请留言。


基于boot + 双app升级方案 基于boot+双app的升级方案 阅读详情

相关推荐

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+

CodeFever Community正式发布,一款用心为中国开发者设计的代码托管平台

近日,蒲公英开发者服务平台为中国开源生态填上了浓墨重彩的一笔,其全新产品 CodeFever Community 正式发布,为中国企业的研发团队、中小开发者团队提供了一款永久免费、完整开源的具有代码托管平台。 2022年,国家软件开发领域的开源化趋势将进一步凸显。 国务院颁布的《“十四五”数字经济发展规划》中指出 ,要“加快推动数字产业化发展,支持具有自主核心技术的开源社区、开源平台、开源项目发展”。 中国信通院发布的《开源生态白皮书》数据显示,在物联网行业,89%的代码库中包含开源代码;生产制造和网

QuanPeng2021的博客 1430

带有验证码的爆破(包含Burp suite工具爆破)

关于含有验证码爆破的一些总结!

weixin_43960066的博客 8693

软件开发设计原则

几条有价值的话 1.设计原则不仅能适用于程序设计,还是用于架构设计; 2.比设计模式更重要的是设计原则;   设计原则 1.单一职责原则(SRP) 2.开放封闭原则(OCP) 3.依赖倒置原则(DIP) 4.接口隔离原则(ISP) 5.替换原则(LSP) 6.共同封闭原则(CCP) 7.共同重用原则(CRP) 8.好莱坞原则(IOC) 9.高内聚低耦合 10.惯例胜于配...

xiakuge的博客 288

深度学习环境搭建以及DeepLabCut安装过程

文章目录 一、查询电脑硬件 安装GeForce驱动程序 二、环境搭建与软件安装 1.安装CUDA运算平台软件 2.安装cuDNN支持包 3.配置环境变量 三、 DeepLabCut环境配置 1.安装Anaconda 2.创建容器环境 3.激活容器环境 4.安装TensorFlow 5.验证TensorFlow是否安装成功 6...

m0_51136557的博客 3157

10、X射线聚焦与光学元件技术解析

本文深入解析了X射线聚焦与光学元件技术,重点讨论了椭圆镜的聚焦原理及局限性,多层镜的设计优化及其突破性应用,以及X射线波导的基础理论和模式求解方法。文章还总结了这些技术的优势、局限及其在材料科学、生物学和医学等领域的广泛应用前景。通过理论推导与技术改进,这些光学元件为X射线成像技术的发展提供了重要支撑。

pz890123的博客 121

软件开发的设计原则

据我了解 ,软件的开发原则有六大原则 开闭原则:开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 单一职责原则 : 单一职责原则是最简单的面向对象设计的原则,一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因,单一职责原则是实现高内聚、低...

木兮兮 1482

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 735

软件开发设计模式与设计原则

原来这些设计模式的理念都是相同的- https://mp.weixin.qq.com/s/neagxQCwXIyTYEABOiq9zQ > 设计原则-- 六大设计原则: 1.单一职责原则(Single Responsibility Principle - SRP) 2.开放封闭原则(Open Closed Principle - OCP) 3.里氏替换原则(Liskov Substitut...

ShareUs的专栏 1328

端侧 AI 落地避坑指南(中):为什么 QAT 救不了精度?——对齐“融合后算子“的硬件物理约束

在上一篇文章中,我们深入探讨了量化的本质,并得出结论:QAT(量化感知训练)是保持精度的关键。明明做了 QAT,精度还是崩塌了!让我们看一个真实的案例:✅ 使用了✅ 配置了量化✅ 训练了 50 个 epoch,学习率降为原来的 1/10✅ 冻结了 BN 统计量FP32 模型:mAP = 0.85QAT 后 FP32:mAP = 0.84(正常)工具量化后:mAP = 0.68(崩塌!问题出在哪里?层融合(Layer Fusion)机制。

weixin_51988935的博客 55

北斗导航 | 基于LSTM-KF融合的北斗卫星定位算法研究框架

针对北斗卫星导航系统在复杂环境下存在的多路径效应、非视距传播等问题,提出一种基于长短期记忆网络(LSTM)与卡尔曼滤波(KF)的组合定位算法。通过LSTM网络建模定位误差的非线性特征,结合卡尔曼滤波实现动态噪声抑制,构建"粗定位-LSTM校正-卡尔曼滤波优化"的三级处理架构。实验表明,融合算法较传统方法定位精度提升42.7%,均方根误差降低至1.2米。

尘世冰封的专栏 920

学会这10个设计原则,离架构师又进了一步!!!

知识分享,以技会友。大家好,我是Tom哥。阅读本文大约需要 15 分钟。 闲言碎语: 一个懂设计原则的程序猿,写出来的代码可扩展性就是强,后续的人看代码如沐春风。相反,如果代码写的跟流水账似的,完全一根筋平铺下来,后续无论换谁接手维护都要骂娘。 做软件开发多年,CRUD仿佛已经形成一种惯性,深入骨髓,按照常规的结构拆分:表现层、业务逻辑层、数据持久层,一个功能只需要个把小时代码就撸完了。 再结合CTRL+C和CTRL+V绝世秘籍,一个个功能点便如同雨后春笋般被快速克隆实现。 ...

公众号:微观技术 2755

Claude code 入门 安装和快速使用

Claude Code 可以理解为一个。你只需要用简单的语言告诉它要做什么,比如「帮我整理这些文件」、「改一下这个程序」、「分析一下这些数据」,它就能理解你的电脑项目,并自动完成很多操作。,比如整理文件、编程、数据分析…等等。使用终端、命令行还是挡住了非常多的朋友,这个时候,有个界面很重要!Claude code、Codex 官方也都推出了插件,安装即可使用。

2401_84052244的博客 1356

Java程序员应当知道的10个面向对象设计原则

做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!原文地址:http://t.cn/AiKCJB2H 推荐语:作为Java开发者除了掌握CRUD之外...

阿飞云漫步 115

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程

寻道 2838

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

如何为你的团队制定设计原则:基于Awesome Design Principles的10个最佳实践

设计原则是创建更好、更一致设计和体验的强大工具。如果你正在寻找设计原则的终极指南,那么Awesome Design Principles项目正是你需要的宝藏资源!这个精心策划的列表汇集了全球顶尖公司的设计原则,从苹果到谷歌,从阿里巴巴到Shopify,为你提供了制定团队设计原则的完整参考框架。✨ ## 为什么设计原则如此重要?🚀 设计原则不仅仅是漂亮的标语——它们是指导团队做出统一设计决策的

gitblog_00530的博客 411

HBase的 rowkey 设计原则

hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+qualifier),timestamp(时间戳)三部分组成的三维有序存储。 rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据。所以 rowkey的设计是至关重要的,关系到你应用层的查询效率。 rowkey是以字典顺序排序的,存储的是字节码。 Rowkey设计原则 1.Rowkey的唯一原则 必须在设计上保证其唯一性。由于在HBas

zjjcchina的博客 3376

iOS应用开发应遵循的10条设计原则

大家知道,苹果App Store的应用审查十分严格,可以说近乎吹毛求疵。如何才能确保自己的应用通过苹果的审查,顺利在App Store上架?以下是BI为广大开发者总结出来的10条设计原则:   .   .   .   1)操控便捷   iOS应用的控制设计应该具有圆润的轮廓和程式化的梯度,操作便捷。   2)结构清晰、导航方便   充分利用iOS导航栏。尽量将所有

雷锋网 831

Java程序员应该了解的10个设计原则

Java程序员应该了解的10个设计原则   面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他

liweiahut的专栏 317

架构师必须掌握的 10 条设计原则

整理于网络 1、遵循单一职责原则 函数是程序员的工具中最重要的抽象形式。它们能更多地被重复使用,你需要编写的代码就越少,代码也因此变得更可靠。较小的函数遵循单一职责原则更有可能被重复使用。 2、尽量减少共享状态 你应该尽量减少函数之间的隐式共享状态,无论它是文件作用域的变量还是对象的成员字段,这有利于明确要求把值作为参数。当能明确地显示函数需要什么才可以产生所需的结果时,代码会变得更容易理解和重用。 对此的一个推论是,在一个对象中,相对于成员变量,你更应该优先选择静态的无状态变量 (static sta.

Java技术栈,分享最主流的Java技术 971

10个面向对象设计原则

面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程

chenhaiyang_ok的专栏 410

Hbase之Rowkey设计原则

一、rowkey设计原则 二、不同模式下rowkey设计 1.写优化 hashing散列 salting加盐 Reverse反转 2.读优化 三、rowkey设计案例 1 设计订单状态表 2 登录、下单等等统称事件(event)的临时存储

南风知我意 3820
上一篇: .NET中删除空白字符串的10大方法
下一篇: 15 个常用的 SQL Server 高级语法
UU_Yang
博客等级 码龄23年 926粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值