
程序设计
文章平均质量分 80
gc_2299
不以物喜,不以己悲
展开
-
(翻译)权力模式(Powers)
问题概述 使用户能够比以前更快地达到目标。翻译 2019-11-25 23:01:12 · 574 阅读 · 0 评论 -
(翻译)赞扬模式(Praise)
问题概述 使用鲜明的文字、图形、声效或类似内容赞扬用户出色地完成工作。翻译 2019-10-31 19:47:35 · 473 阅读 · 0 评论 -
(翻译)愉悦模式(Delighters)
问题概述 人们牢记并追捧新鲜的、意料之外的乐趣。翻译 2019-10-30 21:08:48 · 843 阅读 · 0 评论 -
(翻译)密码强度测算
问题概述需要确保用户输入的密码强度足以防止恶意攻击。示例用途用于辅助用户设置不易被人猜中或被计算机程序破解的账号密码。 用于增加用户密码的复杂度,提高攻击者篡改系统的难度。 用于指导用户设置强度够高的密码,让用户了解什么是好的密码。解决方案根据预设的规则判断密码的强度,然后紧靠着密码输入框显示一个水平标尺,如果密码强度不高,则标尺上只有一小部分被高亮显示,密码强度越高...翻译 2017-11-12 19:59:24 · 940 阅读 · 0 评论 -
(翻译)输入的反馈
问题概述用户在系统中输入了内容,并期望得到系统对输入内容的反馈。示例用途用于用户在网站中提交内容时为用户反馈信息 用于用户在网站中填写内容时提醒用户输入内容中的错误 用于用户在网站中提交内容时提示用户所有提交的内容都正确解决方案当用户在网站的表格中填写并提交内容时,经常会出现填写错误。本模式的目的就是通过减少用户的错误输入来提高用户体验。有一种称为数据验证的方法,...翻译 2017-11-12 19:59:27 · 512 阅读 · 0 评论 -
(翻译)日期选择器(Calendar Picker)
问题概述用户想查找、提交指定日期或者一段时期内的信息。示例用途用于用户对数据进行提交、追踪、排序、过滤时方便选择时间点或者时间范围; 如果用户熟悉另外的高效日期输入方式,则不要限制只能选择日期。例如有些用户喜欢手动输入日期而不是选择日期; 不要在手动输入日期更容易时使用选择日期的方式。例如输入生日,如果是选择的话,选择18、30、50或70年前需要多次点击,不如直接...翻译 2017-11-12 19:59:45 · 1027 阅读 · 0 评论 -
(翻译)结构化数据(Structured Format)
问题概述用户在系统中能够快速输入数据,但输入的数据格式必须符合应用系统内置的数据结构。示例用途用于当日常操作中采用比较明确的控件(下拉选择框、单选框、复选框等)输入数据比较繁琐时; 用于当用户完成任务耗时远超任务本身的重要性时; 用于需要用户输入特殊类型数据时,例如邮政编码、日期、时间、电话号码等; 用于期望用户输入的内容符合某种格式以便于计算机程序能够快速解析; 当...翻译 2017-11-12 19:59:48 · 960 阅读 · 0 评论 -
(翻译)完型填空(Fill in the Blanks)
问题概述用户向应用系统输入数据。示例用途用于为输入项添加说明时,却发现并不需要解释要输入什么内容的情况; 用于当为输入项添加冗长而复杂的标签后,反而造成用户难以理解的情况; 用于可以将输入项夹在一段文本中间,通过文本上下文来诠释输入项意义的情况; 用于必须填写输入项或者强烈建议填写输入项的情况。一段文本中有部分内容不全会困扰用户,让他们不由自主的要将内容补充完整[1];...翻译 2017-11-12 19:59:57 · 8681 阅读 · 0 评论 -
(翻译)预览(Preview)
问题概述用户期望尽快看到表单项内容的变更如何影响最终的结果。示例用途用于想为用户正在创建的东西提供实时预览功能时; 用于用户不借助预览就想象最终输出效果时; 如果输入内容简单明了,最终的输出结果也不需要特定格式,则不需要使用本模式。解决方案让用户在执行某个动作之前先预览该动作导致的结果。在与窗体的交互过程中,随时让用户预览窗体编辑后的结果。与其等用户提交所有的改...翻译 2017-11-12 20:00:05 · 3239 阅读 · 0 评论 -
(翻译)就地编辑器(Inplace Editor)
问题概述用户能够在网页上便捷地编辑内容。示例用途用于当用户仅编辑少量内容时; 用于用户编辑简单格式的内容时,例如编辑下拉框中的字符串内容; 用于想让用户直接在当前页面编辑某项值,而不是跳转到另外的管理界面去编辑的情况。解决方案用户可以在网页中显示某项内容的同一位置编辑其值[1],这为用户提供了简便的方式对网页部分内容进行编辑,不需要跳转到另外的编辑页面进行内容...翻译 2017-11-12 20:00:08 · 791 阅读 · 0 评论 -
(翻译)配置(Settings )
问题概述用户需要专门的参数配置界面对应用系统的行为进行配置。示例用途将绝大部分用户都用得到的参数放到参数配置界面中; 将仅少数用户使用的满足其重要需求的参数放到参数配置界面中; 用于放置不常使用的参数; 用于根据配置的参数获取用户偏好; 经常操作的内容不要放到参数配置界面,而是要放到主界面的工具条中。解决方案让用户通过配置参数的方式控制应用系统的行为。为用户...翻译 2017-11-12 20:00:14 · 878 阅读 · 0 评论 -
(翻译)快捷键(Keyboard Shortcuts)
问题概述用户想提高重复性工作的操作速度。示例用途用于应用系统中存在重复性工作,这些工作经常要在鼠标和键盘之间切换的情况。解决方案允许用户使用键盘命令提高操作速度。通常情况下,为用户的部分重复性工作或频繁操作设置快捷键。在应用系统中设置快捷键时,避免使用操作系统中已存在的快捷键或者是在同一应用系统中的其它地方已经使用的快捷键[1]。避免更改用户工作流程中采用的快捷键...翻译 2017-11-12 20:00:17 · 2992 阅读 · 0 评论 -
(翻译)可扩展式输入(Expandable Input)
问题概述用户想体验突出主题、减少干扰项的界面[1]。示例用途用于将关注点放在界面主要内容而不是其中的输入项的情况; 用于将界面干扰项置于主内容以外的情况。解决方案当界面中的输入项获得焦点或者内容填满时,扩展输入项的尺寸。设计控件,使其处于两种模式之中:扩展和收缩[2]。当用户点击收缩模式的控件时,控件扩展尺寸,这样可以隐藏界面中的次要功能,只有用户需要时这些功...翻译 2017-11-12 20:00:28 · 263 阅读 · 0 评论 -
(翻译)拖拽(Drag and drop)
问题概述用户需要操作一个或多个对象,将它们从一处移动到另一处。示例用途用于以直接操作方式(所见即所得)处理复杂任务的情况; 用于避免强制用户到另外的页面中对当前页面进行排版。解决方案让用户可以选择内容,并能在屏幕上拖拽来重新编排内容。说明处于本能,很多用户尝试拖拽程序界面中的对象。拖拽,这个与物理世界有明确联系的概念性比喻,很少有方法能与其一样提供直接操...翻译 2017-11-12 20:00:31 · 1433 阅读 · 0 评论 -
(翻译)合适的默认值(Good Defaults)
问题概述用户需要向系统中输入数据,其中可能有部分输入项的待输入值与输入项的默认值相同。示例用途用于用户有很多项内容需要设置,其中一些内容项的值很可能与其默认值相同,其他用户也使用的是这些项的默认值; 用于应用程序能够对用户的选择进行有限的预测; 用于没有默认值就很难填完表单内容时,或者表单内容中必填项的数量让用户望而却步时; 如果输入项有重要的意义,需要用户考虑后...翻译 2017-11-12 20:00:43 · 457 阅读 · 0 评论 -
(翻译)包容输入格式(Forgiving Format )
问题概述用户可以快速地向系统中输入数据,然后系统再逐个解析用户的输入数据。示例用途用于当用户采用下拉框、单选框和复选框等意义明确的控件向应用系统输入数据很复杂时; 用于当完成任务所耗时间远高于用户想达到的目标的重要性时; 用于收集与某一主题相关的用户输入。例如物理位置、指定开始时间的事件等[1]; 用于当很容易使用计算机程序解析预期的用户输入数据; 如果不限制用户查询...翻译 2017-11-12 20:00:46 · 288 阅读 · 0 评论 -
(翻译)提示(Input Prompt)
问题概述用户需要向应用系统中输入数据。示例用途用于当输入项相关的标签无法完全表达清楚该向输入项中输入什么内容,或者使用标签说明输入项内容是多余的动作的情况; 用于当除了标签以外,在输入项中显示示例文本或者疑问句也能说明该向输入项中输入什么内容的情况; 用于不想因使用标签导致占用太多空间的情况; 用于与标签结合使用从而进一步描述需要输入什么类型的内容的情况。解决方案输...翻译 2017-11-12 20:01:29 · 1521 阅读 · 0 评论 -
(翻译)可变形控件(Morphing Controls)
问题概述用户只想看到应用系统当前模式下可用的控件。示例用途用于当某些控件不需要同时显示时; 用于想清理程序窗口中不必要和用不到的控件[1]; 用于程序中存在多种用户体验模式时(播放/暂停、开/关);解决方案在用户界面中,能够显示什么信息,能够进行什么操作,这取决于应用程序当前的模式[2]。例如,当视频暂停时,播放操作应该可用,但停止操作就不应当能用。在每种模...翻译 2017-11-12 20:01:35 · 729 阅读 · 0 评论 -
(翻译)撤消(Undo)
问题概述用户输入错误内容后,想将内容恢复到输入前。示例用途用于让用户有更多的信心和意愿来使用应用系统的功能[1]; 丢失数据后造成的损失越严重,就越应该提供撤消功能; 只要有一丝造成工作损失的可能性,应用程序中就应该提供撤消功能[2]; 撤消操作中不要使用警告[3]。解决方案应用程序允许用户便捷地撤回他们自己做的操作。说明没有完美无瑕的用户,他们也会犯...翻译 2017-11-12 20:01:38 · 514 阅读 · 0 评论 -
(翻译)自动保存(Auto Save)
问题概述当用户专注于工作,忘记保存数据时,他们希望应用系统帮助用户保存数据,保证数据安全可靠[1]。示例用途用于想帮助用户专注于创造优秀的作品,而不需要担心数据是否安全、是否已保存[2]。解决方案在固定的时间间隔处,或者在感兴趣的事件发生时,应用系统自动保存用户的输入内容,防止出现数据意外丢失的情况。应用系统中,考虑以什么频率自动保存数据才有意义,或者发生什么...翻译 2017-11-12 20:01:41 · 1927 阅读 · 0 评论 -
抽奖程序开发(一)——需求分析
1、简介 2017年春节前夕,单位组织庆祝活动,活动中有一个抽奖环节,因为人比较多(算上家属几百人),于是计划使用抽奖程序进行自动抽奖。活动过程中,人事部门的同事采用外面单位开发的抽奖程序进行抽奖,顺利完成了抽奖。庆祝活动结束后,人事部门的同事反映能否单位自己开发一个简单的抽奖程序,原因有两个:1)参与抽奖的人感觉抽出来的名单看着不是很随机;2)采用外面单位开发的程序还要付点使用费。如果能使用自己原创 2017-11-12 20:02:04 · 5014 阅读 · 0 评论 -
(翻译)向导(Wizard)
问题概述用户想完成某一单一的目标,该目标可分解为多个存在依赖关系的子任务[1]。示例用途用于用户完成的目标或任务存在多个操作步骤时; 例如向网站中添加图片,该任务有两个步骤:上传图片和裁剪图片,只有将图片上传到网站的服务器上之后才能裁剪图片(PS:第二个步骤依赖于第一个步骤)。 用于当用户需要完成比较复杂的任务,该任务包含多个存在依赖关系的子任务时; 用于当用户需要...翻译 2017-11-12 20:02:07 · 1157 阅读 · 0 评论 -
(翻译)测量完成度(Completeness meter)
问题概述用户想在应用程序中完成某一目标,但是需要应用程序提供完成此目标需要的时间和方法。示例用途用于让用户保持对目标完成进度的关注; 用于让用户确信完成了目标的一系列子任务,让用户觉得他们正在朝目标前进[1]; 如果最终目标依赖一组连续的子任务,则不需要使用本模式[2]; 不要在用户完成重要目标时使用本模式,最好用于比较好完成的目标。本模式的意图是让用户在完成最终目...翻译 2017-11-12 20:02:23 · 598 阅读 · 0 评论 -
(翻译)在线帮助框(Inline Help Box)
问题概述用户想要在即将与应用系统交互的地方附近就有帮助信息。示例用途用于当用户与网站之间的交互不是很直观、很明显的情况; 使用在线提示信息来说明网站中的接口的意义[1]; 用于想让促使用户开始使用应用系统的情况; 用于想帮助用户开始使用网络应用程序的情况; 用于想以一种比较好的方式指导用户开始使用网络应用程序的情况; 用于想以一种温柔的方式向新用户和未经培训的用户介...翻译 2017-11-12 20:02:33 · 388 阅读 · 0 评论 -
(翻译)剩余步骤(Steps Left)
问题概述用户将要执行填写数据的过程,该过程有几个步骤,用户需要指导。示例用途用于当用户的目标可以分为一系列小的步骤,并且很容易就可以将这些步骤分屏显示; 用于当一个过程中包含的步骤太多,如果没有引导信息,用户就会觉得这个过程永无止境; 如果向网站中提交信息只需要一两步,则不需要使用本模式; 如果很容易估计信息填写过程的情况,则不需要使用本模式。解决方案在系统中增加...翻译 2017-11-12 20:02:37 · 586 阅读 · 0 评论 -
C#程序计算原码、反码、补码
参考文献1中对为什么计算机中需要使用原码、反码和补码做了详细的介绍,于是就想用C#写个程序进行验证。 程序需要实现的功能很简单: 1)可以将十进制整数转换为二进制整数,参考文献2中对如何将十进制转换为二进制做了详细的介绍; 2)可以计算二进制的原码、反码和补码,参考文献1中详细介绍了如何计算反码和补码,为什么计算机中要使用反码和补码,以及采用补码进行计算的原理; 3)计算原码、反码和补码形式下的二原创 2017-11-12 20:02:40 · 6591 阅读 · 0 评论 -
(翻译)付费推广(Pay To Promote)
问题概述用户想通过付费的方式使自己发布的内容优先级高于一般的内容,这样可以增加点击率和吸引力[1]。示例用途用于给用户和商家提供一条捷径,让他们可以无视内容排序算法,将他们的信息直接展现给目标观众; 用于给用户提供机会来提高付费订阅量[2]。解决方案让用户可以付费推广他们发布的内容。在Quora、Twitter、OKCupid、LinkedIn等社交平台上,用户可...翻译 2017-11-12 20:02:43 · 576 阅读 · 0 评论 -
(翻译)标记与报告(Flaging & Reporting)
问题概述用户想标记出不恰当的内容以便对其进行审核[1]。示例用途用于当网站的内容都是用户创建,由于内容更新量巨大,不可能每样信息都由网站工作人员亲自审核的情况。解决方案允许用户报告对网站内容审核情况。说明本模式对于基于用户创建内容和用户交互的网站来说是一种重要的设计模式。让用户对网站内容进行检查,帮助网站管理员清理网站内容或对内容进行分类。用户通常很乐意帮忙处...翻译 2017-11-12 20:02:49 · 293 阅读 · 0 评论 -
(翻译)维基模式(Wiki)
问题概述想为网站或者应用程序创建一个库(PS:repository),用户可以在库中创建并管理信息,并可以与其它人共同维护其中 的公共内容。示例用途用于想让用户以增加或编辑网站内容方式提高网页质量[1]; 用于拥有一大批文档并欲持续更新这些文档内容时; 如果是发表编者寄语,则不要使用本模式,因为这些内容由网页内容作者发表,不应被其它人修改[2]。例如网站的条款和协议或其...翻译 2017-11-12 20:02:53 · 1676 阅读 · 0 评论 -
(翻译)如何避免对用户体验设计过程产生倦怠(How to Avoid UX Burnout)
当我看到这个应用在各类应用商店中上架后,我感到精疲力尽[2]。 应用上架前的开发过程十分紧张,其中包含多种涉众、几十类用户以及横跨多个设计团队的数不尽的迭代循环[3]。我们按时完成了项目,并且与所有人保持了良好的关系。然而一切尘埃落地之后,我意识到项目的每个阶段都让我特别疲惫。 应用上架后,我对用户体验敬而远之,即使瞟一眼便利条都能让我觉得乏力。这可能是缺乏创意了,我打算休息几天来充充电。然而“休原创 2017-11-12 20:03:11 · 498 阅读 · 0 评论 -
(翻译)票选模式(Vote To Promote)
问题概述用户想通过民主的方式选出一条特定的内容以确定什么内容比较受欢迎[1]。示例 用途用于让用户民主地决定什么是值得关注的内容;用于让用户民主地提交内容到网站;用于相信用户的主观意见时;不要在小众网站上使用本模式。应用本模式的重点是网站要有大量用户,这样才能产生足够多的投票数,并进行有意义的对比。解决方案说明翻译 2017-11-22 00:38:13 · 939 阅读 · 0 评论 -
(翻译)消息通知(Notifications)
问题概述 有重要的更新或消息时,用户想要收到通知。用途-用于想关注重要的更新或消息时;-将时效性强的信息直接推送给用户;-不要将当前能看得到的信息(例如实时聊天信息)推送给用户;-不要将不需要用户关心的技术细节(例如同步)推送给用户;-如果不需要用户参与就可以解决问题,就不要把错误信息推送给用户 。翻译 2017-12-19 21:05:01 · 3360 阅读 · 0 评论 -
(翻译)内容评价(Rate Content)
问题概述示例 用途解决方案说明讨论原文地址:http://ui-patterns.com/patterns/RateContent[1]原文:翻译 2017-12-02 21:18:37 · 696 阅读 · 0 评论 -
(翻译)导航标签( Navigation Tabs)
问题概述需要将内容划分为多个部分,采用平面导航方式来访问这些部分的内容,这样可以清晰地指示当前的位置[1]。示例 用途用于内容可以划分为2-9个部分,需要使用屏幕导航模式时;用于内容每个部分的名称相对较短时;用于想让导航在水平方向充满整个页面时;用于想提供网站中的最好的模块或者子模块列表时;如果想显示与特定内容相关的数据,则不要使用本模式。例如显示最翻译 2017-12-02 21:33:12 · 936 阅读 · 0 评论 -
(翻译)模块标签( Module Tabs)
问题概述 将内容分为多个部分,然后通过平面导航结构来访问其中的每一部分,选择平面导航结构的某一项时不需要刷新网页。示例用途用于当可视空间有限并且内容需要被分为多个部分时;用于内容包含2~9个部分并且需要平面导航模式时;用于需要通过避免页面刷新来保持用户注意力时;用户每部分的名称都相对较短时;翻译 2017-12-11 23:09:07 · 536 阅读 · 0 评论 -
(翻译)便捷跳转( Shortcut Dropdown)
问题概述 忽略网站的层次结构,用户想快速访问网站中的特定模块或功能。用途-用于快速访问网站中的其它层次结构的内容; -将网站中常用的某些模块或功能链接地址集中在快捷访问栏中,便于用户快速访问; -用于快速访问与当前网页不在同一层次结构的其它页面; -也能用于网页地址导航,但最好别这么做!翻译 2017-12-20 23:51:09 · 478 阅读 · 0 评论 -
(翻译)面包屑导航[1](Breadcrumbs)
问题概述 用户想知道他在网站层次结构中的位置,这样他便可以退回查看上一层级中的内容。用途用于网站内容格式相似,层次结构严谨时;用于能够将网站划分为多个部分,每个部分又可划分为多个更小的部分,以此类推;用户最可能从外部源访问网站的网页(从另一个网站深度链接到该网页)。例如从某博客或者搜索引擎中访问;翻译 2017-12-25 21:59:11 · 865 阅读 · 0 评论 -
(翻译)模态窗口(Modal)
问题概述 如果想继续浏览之前的页面,用户需要执行某种操作或者取消当前页面。用途用于中断用户当前任务,促使其关注更重要的事项;不要在显示错误信息、成功信息或者警告信息时使用本模式。解决方案 引入一种模式,除非关闭该模式,否则用户无法使用应用程序。打断用户的注意力,除非其处理或驳回给出的信息,否则其它一切操作都无法进行。翻译 2017-12-29 20:59:25 · 833 阅读 · 0 评论 -
(翻译)页脚导航(FatFooter)
问题概述用户需要一种机制,该机制能够绕过导航功能快速访问网站或者应用系统中的特定模块。用途-用于与网站的其它层次结构间-用于网站中存在某些页面或功能相对来说被频繁访问时,采用快捷框列出这些内容,用户可以使用快捷方式来便捷地访问这些页面或功能;-用于为网站中不同层次结构中的页面创建快捷访问方式;-页面空间有限时也可用于导航,但不建议这么做翻译 2018-01-06 21:18:12 · 902 阅读 · 0 评论 -
(翻译)主页链接(Home Link)
问题概述 用户要返回网站的安全起始位置。[1]示例用途用于用户通个某个网页频繁的访问网站,而不是通过网站的主页访问。用户能够便捷地访问网站的主页或者起始点。解决方案为网站每个网页上的网站LOGO创建链接,链接到网站的主页或者起始点;如果网站没有LOGO,就为每个网站上的“Home”字符串创建到网站的主页的链接;链接和(或)包含链接的图片在每个网页中的位置翻译 2018-01-06 11:54:45 · 1056 阅读 · 0 评论