zoukankan      html  css  js  c++  java
  • 每个软件都应该考虑的问题

    1. 产品发行. 尽量减少对其他组件的依赖.
    2. 报告bug
    3. 非正常关闭, 数据文件或配置文件损毁
    4. 自身版本. 每个软件都会打补丁和升级, 自然就会面临版本问题.
      1. 提供API返回当前运行程序的版本以及每个组件的版本, 以及打过的补丁列表
      2. 列出当前计算机上的所有本软件的版本以及每个版本的补丁
      3. 补丁的安装,卸载, 冲突
      4. 是否允许多个版本共存?
      5. 兼容旧版本的文件格式
      6. 升级时备份旧版本产生的数据, 比如配置文件
      7. 持久数据(文件, 通讯协议)必须有版本
    5. 平台或者第三方组件的版本.
      1. 必须获得运行平台极其第三方组件的版本.
    6. 跨平台支持: PC/手机, Windows/Mac/Linux, 各种数据库, 各种浏览器
    7. 字符编码. 存储/传输文本时必须指定字符编码, 以便下次或者其他程序识别.
    8. 日志. 如何快速地找到客户环境下产生的bug的位置和原因? 日志必不可少.
      1. 记录运行环境信息: OS版本, CLR版本, 程序版本, 每个组件的版本, System Directory, Application Installation Directory, User, Working Directory...
      2. 记录当前使用地配置文件路径, 以及配置参数
      3. 可设置成debug模式, 记录详细的运行信息
    9. 备份. 包括: 修改之前的配置文件, 正在编辑的数据文件...
    10. 自动更新. 通过网络自动更新, 包括补丁, 最新版本等.
    11. 绝大多数参数可在配置文件中配置. 比如: 字体, 颜色等
    12. 命令行. 用户可以在批处理程序中调用.
    13. 成为COM组件. 让其他程序能直接调用自己的功能.
    14. 安全
      1. 本机用户密码的保存, 登录时"保存密码"功能
    15. UI
      1. Theme, 自定义字体, 颜色
      2. 屏幕分辨率, DPI
      3. Globalization
      4. Tab order
      5. Auto complete
      6. Keyboard shortcuts
      7. Dashboard以及功能的快捷方式
      8. Copy&paste
      9. Undo
      10. Recent objects : words/urls/files/pages...
    16. 多线程
      1. 后台线程和UI线程交互
    17. 打印(到纸张, PDF等)
  • 相关阅读:
    go channel select如何屏蔽已关闭通道
    go err
    在OneNote中快速插入当前日期和时间
    如何查看Isilon节点的硬件信息?
    一个可用来记录Isilon各个节点的CPU,网络,磁盘性能的命令
    Linux中如何查看文件夹的大小
    如何同步两台Linux机器的时间?
    Linux中的硬链接(hard link)和符号连接(symbolic link)
    在Cygwin里,如何进入到C盘?
    Remote Desktop Session中如何触发Ctrl+Alt+Delete?
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1534530.html
Copyright © 2011-2022 走看看