从消费者体验中学到的软件开发经验

由于我们的软件开发人员也不可避免地是其他人的软件应用程序的使用者,因此,毫无疑问,我们所使用的软件会影响我们创建自己的软件。 例如,我们对用户有效界面的看法受我们使用他人软件界面的“另一面”体验的影响。 对于Web和移动开发而言,尤其如此,因为Web应用程序和移动应用程序已经渗透到我们的生活中。

我们倾向于采用吸引我们的习惯用语和风格,而避免使用我们不喜欢的习惯用语和风格。 根据我们正在开发的软件类型与用作使用者的软件类型,这种影响的程度可能会有很大差异(它们越相似,影响力就越大)。 有时候,影响可能会更加潜意识,而其他时候,其他软件的影响可能会变得明显。 在这篇文章中,我描述了一个在线站点的最新经历,该经历使我想起了在创建软件(尤其是Web应用程序)时要记住的一些重要软件开发实践。

我最近在一个与摄影有关的流行网站上创建了一本相册 。 首先,我为本书上传了许多照片。 该网络应用程序报告,除一张照片外,所有照片均已成功上传。 它报告说它未能上传一张照片,并建议我验证我的互联网连接。 验证互联网连接后,我尝试多次上传单张照片,但没有成功。 我尝试更改文件名并更改其文件位置,但仍然没有成功。 在这些失败之后,我能够上传其他照片,但是仍然无法上传该张特定照片。

我决定使用已上传的照片来制作相册,并花了几个小时按照我想要的方式整理照片。 但是,当我尝试保存我的相册项目时,该应用程序将不允许我保存,因为它说在完成上传失败后仍无法上传的照片之前无法保存。 我单击链接多次保存该项目,但未成功。 我无法删除对有问题的照片的引用,甚至“另存为”选项也不允许我保存,因为应用程序认为照片仍在上传。 最终,我知道丢失了我两个小时的工作,因此放弃并关闭了浏览器。

当我仔细查看有问题的照片的特征时,我注意到它的大小恰好是1 MB(1024 KB)。 我使用了一些图像处理软件对其进行了较小的更改,从而影响了它的大小(使其变大了一点),并且上传时没有发生任何意外。 我必须重新开始,但是到那时,我能够(再次)将照片安排到我想要的位置,并能够根据需要保存该项目。

作为该软件的使用者,我吸取了一些教训。 一个教训是,在使用该应用程序时,需要经常进行显式保存,因为它没有隐式的保存功能,并且保存项目的行为似乎是找出该软件处于不一致状态的唯一方法,其中该项目将来可以进行更多的工作。 我还学会了避免罕见的情况,即尝试将恰好1 MB的图像上传到该应用程序。

我想起了作为软件开发人员的更为重要的课程。 首先,我想起了单元测试的重要性,特别是边界条件。 我推测此应用程序使用的代码看起来类似于以下伪代码:

if (imageSize < 1024000)
{
   // upload as-is
}
else if (imageSize > 1024000)
{
   // compress and then upload
}

在上面显示的推测性伪代码中,恰好为1024000字节的图像导致未明确上传的图像。 这是一个容易犯的错误,尤其是在匆忙中并且没有执行代码或不执行代码审查的情况下。 有效的单元测试非常适合消除此类错误,在这种情况下,易于执行测试边界条件(例如1024000)的单元测试。 通常,仅编写用于测试此边界条件的单元测试会导致开发人员意识到其方法的错误。

对这个软件的使用感到烦躁和沮丧,这也让我想起了在我开发的软件中规划“ 不愉快的道路 ”的重要性。 如果已经实施了多种选择之一,那么使用此在线照相簿创建软件的情况会得到缓解。 如果该应用程序支持自动保存功能,该功能在无法保存时报告,那么我就知道我正在处理的内容无法保存。 我在此博客中使用的Blogger具有这样的功能,当它向我报告无法保存时,我知道将停止在帖子中添加新内容,直到可以保存为止,并且我有机会复制并粘贴我拥有的内容输入本地硬盘上的文件。

另一种可能使我免于沮丧的选项是“另存为”功能,该功能使我可以将项目另存为其他项目。 我可以理解所编写的软件在认为状态不一致(认为仍在尝试保存)时不允许我保存,但是它仍然应该能够将其保存为其他项目。 我已经在几个桌面应用程序上看到了这一点,这些应用程序认为当前加载的文档已损坏或不一致,但是无论如何我还是要将该文档另存为单独的文档(而不是覆盖以前的文档)。

我对在线相册创建软件的不满使我想起了在编写软件时记住用户体验的重要性。 我们可以编写我们想要的所有干净,可读且可维护的软件,但是如果它提供了糟糕的用户体验,那将是徒劳的。 这种经验也很好地提醒了进行彻底测试的重要性,尤其是“ 不愉快的道路 ”和边界条件的重要性。

翻译自: https://www.javacodegeeks.com/2015/05/software-development-lessons-learned-from-consumer-experience.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值