软件质量对Application Developer来说真的很重要 - *实际上*?

Dav*_*ave 9 software-quality

在实践中,软件质量对于Application Developer来说真的很重要吗?

我知道这个问题似乎是最愚蠢的问题.但请看下面为什么我问这个问题.

我喜欢这样的工程原理,模式,并且到目前为止一直在实施和享受.但是现在我意识到这些原则对于Application Developer来说真的无关紧要,但重要的是"开发时间","应用程序按预期工作 "和" 完成时间不多但是没关系".

我现在真的很困惑,关于应用程序开发人员的软件质量和原则的实际重要性.因此,在我的所有时间指南之后寻找实际答案无法给出软件质量影响组织的答案和[设计代码质量的重要性] [2]

有关软件质量和软件工程的信息很多,但实际上它们是在应用程序开发中实施的吗?

我问这个问题是一个应用程序开发人员,而不是谈论操作系统,语言或编译器开发/创新.


谢谢大家的回复.让我更多地说明为什么我在第一时间提出这个问题.

我也相信并认为在考虑这些原则时应该毫不犹豫.我相信这是一种艺术,策略不能根据某些东西切换.

但是如果你看到关于这个主题的任何内容或者说这篇文章,请注意诸如"取决于什么"之类的短语.现在的实际问题是谁能直接受益于这样的质量代码,除了你自己,这也是你的成圣,道德,道德.

让我们举一个很常见的例子; 一个拥有数百万次点击的网站.最终用户很高兴,因为网站看起来很有吸引力,他们得到了订单 管理层很高兴,因为开发/改进是在预算范围内完成的,所有功能都已实施.PM很高兴,因为不知何故,团队及时交付了它.Tech Lead很高兴,因为所有异构子系统都按预期进行通信,并且满足基础设施约束.由25名开发人员组成的团队感到高兴,因为所有错误都已修复,现在他们的代码正在运行; 当然,他们有信心,因为他们使用类型安全的语言,伟大的IDE,他们会发现任何运行时错误的行号,因为尝试catch块无处不在.

在这里,让我们说,他们没有遵循任何模式或最佳实践.因此代码不可重用或逻辑层依赖于数据格式或......但对于下一个开发,会有新的预算,新的开发计划和开发人员获得可能不符合过去任务的新任务.

因此,通过遵循某些原则直接受益或必须强制执行消除这些原则的人可能需要在时间和预算方面支付一些额外费用吗?

然后谁在乎实际关注这些?每个人都知道它的理论重要性,但在实践中,它是"金色触摸"还是"有好处"特征或"必须具备"要求?如果它真的重要,那么正如许多人所说,为什么预算或时间被赋予最重要的意义,质量是第二重要.

Dav*_*ble 15

您制作高质量的软件有三个原因:

  1. 要做得好,必须精心设计,精心设计的软件写得更快.
  2. 制作精良的软件更易于维护,一切都得到维护.
  3. 我们写得很好,因为我们关心,因为我们是专业人士.

  • 我必须假设你在视觉美感方面意味着丑陋.根据定义,丑陋的代码写得不好,因为它忽略了人和机器都需要理解的需要.在OP的问题中,我没有发现视觉美学. (4认同)

rah*_*hul 5

应用程序按预期工作并不总是理想的解决方案.内部工作如何发生也是需要注意的一点,而不是单独获得所需的输出.

如果不是这样,公司就不会有软件质量保证的机构.

通常软件质量被忽略,因为我们经常倾向于进行短期优化.

为什么您认为应用程序开发与质量无关?


kyo*_*ryu 5

第一步是定义质量.

最重要的是,重要的是软件给消费者带来的价值.所以,就我而言,只有两件事构成了"质量"代码.

  1. 直接给用户的价值.(外在质量)
  2. 为软件增加更多价值是多么容易(包括测试,验证缺乏回归,构建过程等) - 内部质量.

高质量的代码库使您可以快速,轻松地进行更改,您可以高度自信地打破世界,并且构建/验证更改的成本很低.低质量的代码库很脆弱,很难进行更改,并且需要很长时间来构建/验证.

其他一切只是针对这两点之一的指导方针.一致且良好的命名提高了质量,因为它清楚地表明了代码正在做什么,并且理解代码正在做什么使得更容易进行更改.单元测试套件可提高质量,因为它们可以更轻松地更轻松地更改代码."良好设计"原则(例如关注点分离)使得更改代码变得容易,因为更改往往更加孤立.

所以,是的,这些事情甚至对应用程序开发也很重要.内部质量因素可以在给定的时间段内轻松地为应用程序添加更多功能 - 但是,必须与可以在开发人员工作量相同的情况下实现的功能进行平衡.