作为喜欢较真的程序开发者,一个最难以让我们接受的事实是,很多看起来开发和设计都几乎完美的软件却无人问津。相反,很多开发的一塌糊涂的软件却被世界上的人们大量的每天使用着,这些软件如果不是设计糟糕,就是bug多多。这看起来似乎是软件界让人忿忿不平的根源之一。

所谓“烂软件”烂在哪里?

如何看待“烂软件”,这首要、最重要的一点是我们如何给“烂”定义标准。所有人都会认为,如果一个软件宣称能备份你的电脑数据,但却时不时的丢失数 据;成功的备份了数据,却占用了多余的空间、备份错了文件,这就是“烂”软件。可很多时候“烂”和“不烂”却不那么容易辨别,而大多数程序员都会认为这样 的软件是烂软件。比如:

  • 如果一个软件能为主要用户提供正确的服务,但难于扩展,难于修改,难于维护,这是好软件吗?
  • 如果一个软件功能正确,但需要大量的培训才能投入使用,这是好软件吗?
  • 如果一个软件工作正常,相对也容易学,但就是运行速度慢,这是好软件吗?
  • 能用但界面丑陋的软件是好软件吗?
  • 95%情况下都正常,偶有会崩溃的软件是好软件吗?

上面举的这些例子都可以归类为“烂软件”,尽管每个人对这些问题的严重性反应不一。也许你会认为软件的界面不好看,所以是烂软件,而我会认为它在功能上偶尔出现错误,所以不是好软件。很显然,我们认为它们应该做的更好。

为什么“烂软件”受欢迎

为什么烂软件会很受欢迎?也许你会困惑。做为市场人员,他们对软件的好坏的评判跟程序员有很多的不同。而软件的最终用户的评判标准跟市场人员和程序员又有些不同。但有人认为一个软件非常好时,另外一个人却会认为糟糕透了。这才是关键问题。

很多的程序员都不喜欢Wordpress。因为,作为一个开发平台,它实在是不符合常规。它的代码很多都非常古老,很多设计理解都跟不上形势。但 是,对于博客站长来说,它非常简单,持续兼容,在很老的虚拟主机、甚至能在PHP5.2上运行。所有的老的模板和扩展都能运行在最新版里。

你也许不认可Wordpress团队的开发方向和设计重点,你也许会认为他们开发的东西就是烂东西,但你无法回避这样的现实:大量的用户(这个数目仍在在增加)仍在使用它,并且认为很简单、实用和强大。

重新定义“好软件”

基本上,评判什么是“烂软件”的标准驱动于人们的立场、角度和侧重点,这些意识决定了他们认为最终产品应该如何设计、部署和实施。

站在老板的角度上,软件能够按要求开发完成,能够盈利,这就是好软件。

代码清晰,测试充分,文档齐全,这是程序员关心的。市场人员关心的是软件能否提供价值,能否赚钱。对于管理员来说,持续运行时间达到99.999%就是好软件。对于用户来说,他们关心的是否简单好用。

对于软件的开发商来说,需要照顾各方面的需求,在各种取舍上做权衡。当所有软件开发参与者、使用参与者、维护参与者、销售参与者等看重的东西都有了很好的照顾,这样的软件才是最成功的软件。

文章转载自 开源中国社区 [http://www.oschina.net]

为什么烂软件大行其道而好软件无人问津?相关推荐

  1. 软件产品分析:华为软件开发云

    1. 调研评测 1.1 评测 1.1.1 第一次上手体验(web版) 一开始进了华为云,注册完才发现不是一个东西. 从注册到稍微上手,一遍下来边用边记录.整体不错,基本功能都有了,但是还是有一些不舒服 ...

  2. B/S软件超越C/S软件的优势在哪里?

    近两年来,对于B/S.C/S两种结构的软件的优劣,国内基本已经达成共识,普遍认为B/S结构软件将全面取代C/S结构软件.但B/S结构的软件产品相对于C/S结构的软件产品,具体拥有哪些突出的优势,国内许 ...

  3. modbus从站模拟软件_这些操作软件都不知道?趁早别当电气人了

    作为工控电气人,你知道我们必备的软件有哪些吗?今天我就来给大家介绍一下,工控电气人常用的几款软件,有了它们,我们的工作学习将会更易上手,效率翻倍.以下介绍主要是分为电工常用软件,PLC编程软件,工控辅 ...

  4. ad域推送软件_Python3.6.4 软件安装教程

    Python-3.6.4 软件安装教程 01 Python-3.6.4 软件安装教程 软件介绍 Python-3.6.4(32/64)位 Python的设计目标之一是让代码具备高度的可阅读性.它设计时 ...

  5. PB做的史上最强的矢量图监控软件(什么组态软件与监控软件的核心都源于此原理)...

    PB做的史上最强的矢量图监控软件(什么组态软件与监控软件的核心都源于此原理)<?xml:namespace prefix = o ns = "urn:schemas-microsoft ...

  6. windowsphone开发_APP软件开发用哪些软件比较好

    说到APP软件开发,大家能否联想到APP使用情况呢.我们在生活上离不开手机,现在时代发展越来越快,2020年处于短视频流量时代,像抖音等这些软件APP想必大家都听说过,这样的一款APP开发需要多长时间 ...

  7. kali安装步骤失败 选择并安装软件_Pycharm2019.3.3软件安装步骤

    软件下载 [名称]:Pycharm [语言]:中文/英文 [安装环境]:Win7/Win8/Win10 [下载链接]: 链接: https://pan.baidu.com/s/1yrcVVd7whLt ...

  8. 亚马逊手机端测评软件/PC端测评软件各有什么优缺点?

    亚马逊手机端测评软件/PC端测评软件各有什么优缺点? 亚马逊测评氛围手机端测评和web端测评.之前用的更多的还是手机端测评,因为这比较符合真实用户的操作习惯,但是随着亚马逊网页端的不断优化,不少欧美国 ...

  9. 局域网网管软件_网管软件有哪些?那些不同之处

    企业管理一般用到的网管软件,就是局域网监控软件的一种,它不同于网吧管理用的管理软件,它是集网络监控,监管一体的软件.网管软件并不是单单的一种软件,它在市面上也是包含很多类的.行业内知名的超级眼局域网监 ...

  10. 2345电脑管家_2345软件管家下载|2345软件管家 2.0 官方正式版

    对于很多类似的软件而言,这一款软件在互联网行业也不算无名之辈,毕竟你都搜索到这里,也是认可了这款软件的地位和作用.而且看最新的版本迭代,也有一些比较欣喜的变化,是以前版本所没有的. 2345软件管家功 ...

最新文章

  1. 提升jmeter自身性能
  2. Code Review 是一场苦涩但有意思的修行
  3. BZOJ2127happiness——最小割
  4. java访问glusterfs_GlusterFS: 访问权限设置
  5. 32位有符号整数_[LeetCode] 8. 字符串转换整数 (atoi)
  6. 北大青鸟组建与维护企业网络高级技术PPT课件
  7. Kaggle新赛:通过音频识别鸟类和青蛙物种
  8. 英伟达新研究:“狗生猫,猫生万物”的多模态无监督图像转换
  9. c语言第三章知识点讲解,C语言考试最新知识点总结讲解.doc
  10. 克隆的仓库 设置全局https协议转换成git协议,加快拉取速度(git)
  11. 使用什么协议扫描服务器端口,服务器端口扫描
  12. 六个参数帮你全面了解固态硬盘
  13. spdlog日志安装与使用
  14. postgresq | pg命令
  15. HbuilderX下载安装
  16. 无线路由器有几种工作模式
  17. QueryWrapper条件构造器 验证
  18. location.href表示当前访问的网址url
  19. dl4j LSTM分类
  20. c#十二星座速配系统_十二星座速配指数(上集)

热门文章

  1. 防火墙 虚拟服务器,防火墙应用指南(二)——虚拟服务器的搭建-20210526012702.pdf-原创力文档...
  2. PyCharm+PyTorch0.4.0安装使用
  3. 计算机电缆静电,ZR-DJFPVP计算机电缆
  4. 显示lib包_Java 添加、删除、移动、隐藏/显示Excel工作表
  5. pythonweb程序设计_Python编程实现的简单Web服务器示例
  6. cas 怎么过滤带pathvariable_过滤材料怎么摆?记住这个“公式”就好~
  7. wpf分页预览html文件,用WPF实现打印及打印预览
  8. 好程序员Java分享JVM类加载机制
  9. Delphi动态事件深入分析
  10. python条件、循环、终止