任何好的应用程序应该关注'按设计'

Ahm*_*aly 10 design-principles

我知道默认答案是"它取决于",但我想知道你正在开发一个好应用程序的功能列表.

我对在设计时需要关注的功能特别感兴趣,因为延迟添加它们会花费我们很多.

请列出每个答案的一个功能,以便我们投票选出最重要的功能.

任何额外的信息,如你自己的战争故事,将不胜感激.

我问这个问题是从第0天开始增强我的应用程序,我认为我不是唯一一个有这个目标的人,所以请写出你认为应该存在于一个好的应用程序中的任何功能.

jfc*_*tte 14

记录和错误处理


cha*_*aos 9

安全.非常有趣,如果不足为奇,这是第14个上升的答案.


Gee*_*ock 9

用户界面/体验设计许多技术创新依赖于UI设计,将其技术复杂性提升为可用产品.单独的技术[通常]不会赢得用户接受和随后的可销售性.

来自IBM:

在软件开发中,设计被广泛误解和低估.通常,没有明确的用户界面设计与代码分开进行.迭代设计然后变成重新编码.这是一种短视的策略,因为从长远来看,它会产生更多的代码.因为设计是不可避免的,所以真正的问题在于它是否隐含在正在开发的软件中,或者是单独显示和捕获的.有用的辩论是关于如何很好地进行设计工作,以及如何以最佳形式捕获它以便与实现它的人进行通信.


Rob*_*obS 8

国际化.
添加它作为一种思想可能是昂贵的

潜在的陷阱:

  • 非英语操作系统(例如,不要假设"Program Files"目录名)
  • 参考数据(翻译显示文字)
  • 图像(图像中的文字需要翻译)
  • UI布局(翻译后填充较长文本)
  • 多语言安装人员,EULA等
  • 硬编码字符串!
  • 没有指定文化特定格式化程序
  • 货币,时间本地化(例如使用逗号与货币期间)
  • 设计方法:嵌入式资源与附属程序集(即"语言包")
  • 数据库设计:如何存储/查找特定于语言的值


Ahm*_*aly 6

就个人而言,我没有给出它应该采取的意图的好特征是
可扩展性


它可以帮助我的应用程序社区成长 - 这有利于营销明智和技术明智,它帮助我专注于我的核心业务,并留下其用户构建的酷功能