好的软件应该满足的特点
- 软件的纯粹性:只做软件功能需要的事情,不做软件功能之外的事情。
- 软件的可控性:软件执行的任何功能都出自用户的控制,不会强制执行某些用户不期望的功能。微软的windows10的自动更新就是强制用户升级。没有按照用户的意愿去执行功能。
- 软件的透明性:软件做的所有事情都让用户知晓。很多流氓软件,他们所作的事情就是在背后监视和窃取用户的信息。用户看到的只是表面的东西。他们背后做的事情更多。
- 软件的独立性:软件尽可能不依赖其他组件,也不干扰其他组件
- 软件的开放性:软件保持开放和接口,可以互相配合使用。linux有了管道,可以让某些工具互相配合,发挥强大的作用。
- 软件的通用性:软件使用标准的快捷键、接口规范、处理格式、操作习惯等
- 软件的高效性:软件应该高效的实现功能,不占用过多资源,办法就是用简单和清晰的结构去实现功能,软件结构越是简单和清晰,越是稳定和高效。同一个软件同样的功能,有的软件体积小占用低,就是高效软件,有的软件体积臃肿运行缓慢,就是低效软件,低效软件会白白的浪费掉空间和性能。
- 软件的安全和稳定性:软软件应该运行稳定,不会出现意想不到的情况和崩溃,即使出错也不会造成太多损失