这是一篇比较老的 文章,但是文中的这些问题在现在仍然普遍存在。代码质量的高低与商业产品的优劣是否有直接的影响?开发者Frank Sommers在文中给出了他的看法。文章内容如下。

在大多数商业项目中,代码质量并不被看重,因为大部分情况下,代码不是整个项目的最终产品,客户最终使用的是二进制文件,而不是源代码。相比代码质量,开发流程、进度和技能更能决定产品最终的质量。

在现实生活中,我几乎从来没有遇到一个对他所工作的代码完全满意的商业软件开发者。相反,我甚至认识到, 开发者对其所工作的代码的满意度与代码给老板所创造的价值成反比关系。

我的一个朋友在世界上最大、最赚钱的数据库公司的核心服务器组件部门工作,他时常感叹庞大的代码库中那些丑陋的命名约定,对于开发者来说,很难在这些代码的基础上开始工作。但是,不可否认, 就是这些丑陋的代码库为该公司创造了高达数十亿美元的收入。

不幸的是,开发者一边感叹着代码质量,一边还不得不继续做这项奇怪的、与众不同的工作。 说这项工作与众不同,是因为用户不能从最终产品中直接看到你的付出。如果你是一个音乐家,你可以根据自己的喜好来塑造每一个音符和乐句,并直接呈现给听众。如果你是一个木匠,你的产出是实际的椅子或橱柜。

但是作为一名开发者,除了你工作的开发环境和开发团队外,你几乎没有留下什么东西。客户看到的是二进制文件,而不是你的源码。 除非你的产品是开源的,或者包含源码文件,否则,除了开发团队的人外,几乎没人看到或者关心这些代码,而你每天在这些代码上花费了大量宝贵的时间。

大多数编译器也不关心代码的质量,比如,变量如何命名、方法是否简洁、对象模型是否清晰、甚至不管你使用了什么算法,编译器对这些都没有兴趣, 无论代码是优雅还是丑陋,都能创建出效果相同的二进制文件。比如,当你阅读这篇文章时,你根本不会考虑当前页面源代码的质量。

当然,作为开发者,我们必须关心代码质量,因为我们每天要花费大部分的时间来与这些代码打交道。而且, 作为一个合格的开发者,我们应该努力打造和维护一个高质量的代码库。

我们花费大量时间来打造更高质量的代码,我们通常会说现在所做的工作将会在一段时间后带来更多的商业利益,以此来体验我们所做的努力。但是,代码质量很少直接导致任何可衡量的商业投资回报。比如我那位在数据库公司工作的朋友的例子,他认为这些代码丑陋不堪、难以阅读,但是依然能够很好地创造利益。 该公司专注的是产品的整体质量,而不是代码的质量。

总体产品的质量,不是通过改善单一活动的质量就能提升的。 开发者测试、敏捷开发方法、QA(质量保证)、CI(持续集成),这些所有的流程保证了最终高质量的产出。代码质量只是其中的一小部分。商业软件公司往往会更专注于产生高质量产品的过程,因为这比起强调代码质量来说,能获得更好的回报。

通常来说,产品经理很清楚以上这些内容。但是对于开发者来说,必须日复一日地工作在他们认为“丑陋”的代码基础上。这意味着,开发者注定一直无法对他们所工作的代码的质量感到满意。

商业项目中代码质量是否重要?相关推荐

  1. Android 录音机小米商业项目开源代码 AudioRecord录音暂停 播放 Wav格式(音频二)

    Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一) https://blog.csdn.net/WHB20081815/article/details/88 ...

  2. Android 高仿唱吧 咔拉ok 商业项目开源代码 K歌合成 伴奏录音合成MP3(音频五)

    Android MediaRecorder录音录像 暂停 继续录音 播放 ARM格式(音频一) https://blog.csdn.net/WHB20081815/article/details/88 ...

  3. 谈一谈在两个商业项目中使用MVI架构后的感悟

    前言 MVI并非新兴事物,在2020年时亦曾有通过撰写一篇文章与诸位读者探讨一二的念头. 当时项目采用MVP分层设计,组员的代码风格差异也较大,代码中类职责赋予与封装风格各成一套,随着业务急速膨胀,代 ...

  4. 商业项目中最受欢迎的 7 种编程语言

    [导读]:Semaphore 是一个国外持续集成/持续部署方案服务商.Semaphore 称自己在过去三年对其开发者用户进行调查,调查他们在开发商业项目时一般都使用哪些语言.这些数据基于成千上万个在  ...

  5. 商业项目中选择框架和库的原则

    产出商业项目的基本点: 高效高质量的产出产品. 成本和效率变得尤为重要. 迭代周期长,长效性,代码可维护性. 基本前提:成本和效率问题 实现目标的成本和效率 团队协作的成本和效率 后续迭代的成本和效率 ...

  6. sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍

    1.使用需求 随着互联网产品迭代越来越快,客户对产品的要求也越来越高,因此如何高质量的交付代码,及时地对代码质量进行分析并给出合理的解决方案就成为了当下必须要解决的一个问题.SonarQube 就是一 ...

  7. github 检查代码质量_如何提升开源项目的代码质量?

    我们在github上面浏览开源项目的时候,经常可以看到一些小图标badge.这些图标往往暗示了该项目的代码质量,下面以我给gorazor项目添加的badge为例,逐一讲解一下: 本文虽然是以go项目为 ...

  8. 2小时搞定DoTween在商业项目中的使用

    安装DoTween插件 首先,我们需要将DoTween插件添加到我们的Unity项目中.我们可以从Unity Asset Store中下载DoTween插件,并将其导入到我们的项目中. 对啦!这里有个 ...

  9. 哪些开源协议的项目可以在商业项目中使用

    文章目录 前言 一.公司项目选型使用错误协议的项目会有哪些风险 1.有可能会被起诉开源,如GPL协议类 2.程序员可能会背锅 二.应该选哪些协议的开源项目 总结 前言 目前开源协议种类已经非常多,大家 ...

最新文章

  1. 巴士云_“相见不如在线”巴士五公司“云面试”汽修工和驾驶员
  2. oracle 备份 无客户端,已解决: 备份linux oracle 突然不能备份了 - Dell Community
  3. 89. Leetcode 96. 不同的二叉搜索树 (动态规划-基础题)
  4. vue实现todo功能(一):搭建vue-webpack环境
  5. Wordpress中显示页面当前位置
  6. 【转】从零开始学图形学:10分钟看懂贝塞尔曲线
  7. Shell自动上传下载文件到SFTP服务器
  8. Swift中类型推导(掌握)
  9. 拓端tecdat|R语言用极大似然和梯度下降算法估计GARCH(p)过程
  10. Spring 全局异常拦截根据业务返回不同格式数据 自定义异常
  11. html字体溢出问题,CSS教程:关于文字溢出问题的研究
  12. 史上最全最新C盘爆满清理整理总结
  13. 《机器学习实战》--资料下载和运行环境
  14. 台式计算机关机后自行重启,台式电脑点关机后又自动重启怎么处理
  15. matlab中心极限定理、高斯分布拟合。
  16. 迄今为止最全的技术文档汇总,编程语言,操作系统,数据结构,设计模式等赶紧收藏起来。
  17. 怎么安装python3.7.3_Python 3.7.0安装教程(附安装包) | 我爱分享网
  18. 一.不同环境下C语言的编译
  19. 百度网盘无法下载怎么办?
  20. ng-tv-focusable

热门文章

  1. 【转】Microsoft Graph Web应用程序极致开发体验
  2. 通俗彻底解读批处理的延迟变量
  3. 关于@DateTimeFormat 和 @JsonFormat 注解
  4. 【POJ - 3041】Asteroids (二分图,最小点覆盖)
  5. 【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)
  6. ACM与Java -- 大整数类的常用函数一览表
  7. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...
  8. 计算机编程是考研什么专业,程序员考研该不该继续选择计算机专业
  9. ecshop php升级,升级-安装与升级- ECShop帮助
  10. layui数据表格循环数据给特殊行变颜色遇到的bug