• Refactoring is tactical, remodelling is strategic.重构是战术性的!  重新建模是战略性的。重构好像已经变成了提高软件质量的专有名词,这个词语是由Martin Fowler提出,并专门出版了两版的《重构》书籍,被誉为“圣书宝典”
  • 以下是无法理解Bug分类:很难复制你不太了解整个系统很难获得有关Bug的数据你的假设之一是错误的这个bug真的很复杂 1.本地难以重现的bug
  • 在“铁三角”模型中,有 3 个约束条件:资源Resource:有多少人投入范围Scope:需要完成多少工作时间Time:完成工作的时间它们形成了一个三角形,三角形的面积代表质量。如果您曾经听过人们谈论“遗留代码” icon
  • 软件开发被误解了,因为人们认为它是短期的创造,但是不明白:高质量却是将软件投入生产的最快方式。高质量的代码使维护更容易并减少代码交互时间。低质量的代码会慢慢地产生更多的问题并减慢开发速度。非开发人员和缺乏经验的开发人员没有着眼长远,也没有意识到质量在软件开发中的重要性。 icon
  • 牢记业务上下文的技术决策建议,业务上下文是唯一的衡量软件质量的关键指标。如果有事情不对劲,软件工程师会感到不安。学生或初级工程师由于不熟悉编程概念而感到不安。渐渐地,我们对更高层次的抽象感到不安:我们不再会像当初因缺乏理解而烦恼,而是知道系统确实属于有害反模式时,会更加不安。 icon
  • 不只是鼓励程序员编写可读代码,还要承认程序员阅读代码也是另外一种技能。 1. 假设有人写了不可读的代码没有人故意编写不可读的代码。如果你有一个只有你贡献代码的项目,你可以亲眼看到这一点——每次你在几个月、几周甚至几天缺席后再次检查时, icon
  • 软件的扩展与城市扩张很相似:美国城市似乎是工业规模化过程的产物,而较旧的欧洲城市似乎是人类过程的产物。这是因为大多数美国城市都是在汽车和工业革命之后和与之并存的,城市的设计只是考虑了容易实现的事情,并以一种模板方式指导了一切 icon
  • Linter 最好被描述为静态代码分析器,因为它们甚至在您的代码运行之前检查您的代码。如果您想确保代码的长期可维护性,您应该遵循最佳编码实践和风格指南规则。实现这一目标的最佳方法之一是使用 linter,同时也可能发现代码中的错误和其他问题。它们可以在您的 IDE 中工作,作为构建过 icon
  • 美国组织理论家罗素·阿科夫 (Russell Ackoff) 说:“一个系统不仅仅是其各部分的总和;它是一个不可分割的整体。当它被分解时,它就会失去其本质属性。”在进行API设计时,我们*喜欢*还原论作为处理复杂性的一种方式:例如《Web API 设计原则:通过 API 和微服务交付 icon
  • 熟悉TDD的三个定律这些规则是在实践中使用TDD的基础。它们限制我们一次只更改一件事。他们迫使我们采取步伐!记住并严格遵守这些规则,以便有效地使用TDD!在代码没有通过失败的单元测试之前不要编写任何生产代码。没有遭遇更多失败还有编译错误之前不允许编写更多的单 icon
  • 开源项目cloc能计算许多编程语言中源代码的空行、注释行和物理行数。给定两个版本的代码库,cloc 可以计算空白行、注释行和源代码行的差 icon
  • 英国航空公司TUI用来办理登机手续的软件出现编程错误,导致去年7月三趟航班的飞行载荷计算错误,这可能是一个严重的安全问题。根据英国航空事故调查局(AAIB)周四发布的报告[  icon
  • 作为一家金融科技公司,质量对我们来说至关重要。我们需要客户用他们的钱信任我们。我们的端到端测试套件补充了我们的测试策略,以确保我们的系统具有非常高的质量和完整性。过去,在 Nubank,我们使用 icon
  • 尽管编程语言已经发生了巨大的发展,但它们的核心仍​​然有一个主要的共同点:让计算机以最有效和最无错误的方式实现目标。现代语言在许多方面使开发变得更加容易,但是在我们实际检查各个代码行以使它们无错误的方式方面,并没有太大改变。在提高代码质量,提高性能和降低运营成本方面所做的工作甚至更少。 icon
  • 许多技术问题最终会变成人的问题,缺乏良好的文档也不例外。编写和维护文档是一种需要鼓励和培养的习惯。不幸的事实是,如果没有文档文化,再多的工具也无济于事。今天,我们将看看 3 家高性能工程公司,Google、Twitter 和 Spotify,如何处理他们的技术文档并建立文档文化。 < icon
  • 代码质量是软件工程最重要的方面之一。SonaQube 是代码保证工具,它通过收集您的源代码并对其进行分析来确保项目的代码质量。您可以根据此工具的结果将 CI/CD 管道配置为部署或不部署。例如,如果单元测试覆盖率低于 85%,则构建管道可能会失败。在这篇文章中,我们将看到如何在本地机 icon
  • 技术债务是由于在构建功能时采用了太多的技术捷径。产品团队创建了一个雄心勃勃的路线图,几乎没有犯错的空间,工程师在已经过时的软件基础设施上进行不守规则的破解以实现这些雄心壮志。债务像一个孩子踮起脚尖走进厨房,从食品储藏室偷走饼干,导致系统效率逐渐下降。当快速而肮脏的破解黑客习惯 icon
  • Marco Faella 是那不勒斯费德里科二世大学的副教授,也是《Seriously Good Software》一书的作者。在这一集中,Marco 解释了他所说的真正好的软件是什么意思,从多个不同的角度看待软件质量。然后,我们深入研究了这些软件质量中的一些,并提供了一些实用技巧,介绍了软 icon