软件质量指南

     

RefactorFirst:寻找Java代码库中无所不包的大型“上帝”类

1100
这个 Java 代码库工具将帮助您识别应该首先重构的上帝类,也就是意大利面条的“大泥球”类,代码很长都混沌编织在一起的类,这样的上帝类往往是出现Bug最多的地方,也是技术债务中的核心债务,需要重构甚至.

Google、Twitter 和 Spotify 如何建立文档文化 - DEV

958 3K

许多技术问题最终会变成人的问题,缺乏良好的文档也不例外。编写和维护文档是一种需要鼓励和培养的习惯。不幸的事实是,如果没有文档文化,再多的工具也无济于事。今天,我们将看看 3 家高性能工程公司,Goog.

不要将API质量视为技术问题,而更多地是系统问题 - matthe

1249 1

美国组织理论家罗素·阿科夫 (Russell Ackoff) 说:“一个系统不仅仅是其各部分的总和;它是一个不可分割的整体。当它被分解时,它就会失去其本质属性。”在进行API设计时,我们*喜欢*还原论.

建议将技术债务更名为科技财富 - increment

885 2K
技术债务是由于在构建功能时采用了太多的技术捷径。产品团队创建了一个雄心勃勃的路线图,几乎没有犯错的空间,工程师在已经过时的软件基础设施上进行不守规则的破解以实现这些雄心壮志。债务像一个孩子踮起脚尖走进.

重建模与重构的区别

2865 5
Refactoring is tactical, remodelling is strategic.重构是战术性的!  重新建模是战略性的。重构好像已经变成了提高软件质量的专有名词,这个词语是由Mar.

金融科技公司Nubank为什么杀死自己的端到端测试套件 ?

1066 2K

作为一家金融科技公司,质量对我们来说至关重要。我们需要客户用他们的钱信任我们。我们的端到端测试套件补充了我们的测试策略,以确保我们的系统具有非常高的质量和完整性。过去,在 Nubank,我们使用端到端.

阅读代码也是一种技能 - Trisha Gee

955

不只是鼓励程序员编写可读代码,还要承认程序员阅读代码也是另外一种技能。 1. 假设有人写了不可读的代码没有人故意编写不可读的代码。如果你有一个只有你贡献代码的项目,你可以亲眼看到这一点——每次你在几个.

linus:相比在IDE下编程,我更喜欢手写代码

1125 1

软件的扩展与城市扩张很相似:美国城市似乎是工业规模化过程的产物,而较旧的欧洲城市似乎是人类过程的产物。这是因为大多数美国城市都是在汽车和工业革命之后和与之并存的,城市的设计只是考虑了容易实现的事情,并.

优质软件质量是什么? - Marco

851 5K

Marco Faella 是那不勒斯费德里科二世大学的副教授,也是《Seriously Good Software》一书的作者。在这一集中,Marco 解释了他所说的真正好的软件是什么意思,从多个不同.

被误解软件开发: 高质量代码才能最快投入生产 - itnext

1163 2 4K
软件开发被误解了,因为人们认为它是短期的创造,但是不明白:高质量却是将软件投入生产的最快方式。高质量的代码使维护更容易并减少代码交互时间。低质量的代码会慢慢地产生更多的问题并减慢开发速度。非开发人员和.

在本地机器上为 Java 项目设置 SonarQube

926

代码质量是软件工程最重要的方面之一。SonaQube 是代码保证工具,它通过收集您的源代码并对其进行分析来确保项目的代码质量。您可以根据此工具的结果将 CI/CD 管道配置为部署或不部署。例如,如果单.

静态代码分析器排名前10的Java Linter

2594 4K

Linter 最好被描述为静态代码分析器,因为它们甚至在您的代码运行之前检查您的代码。如果您想确保代码的长期可维护性,您应该遵循最佳编码实践和风格指南规则。实现这一目标的最佳方法之一是使用 linte.

可计算程序源代码的空白行、注释行和物理行数的工具:cloc

1400

开源项目cloc能计算许多编程语言中源代码的空行、注释行和物理行数。给定两个版本的代码库,cloc 可以计算空白行、注释行和源代码行的差异。它完全用 Perl 编写,在 Perl v5.6 及更高版本.

无法理解的程序Bug分类大全 - jvns

1516 2 5K

以下是无法理解Bug分类:很难复制你不太了解整个系统很难获得有关Bug的数据你的假设之一是错误的这个bug真的很复杂 1.本地难以重现的bug那些让我考虑转行的bug通常只发生在少数用户身上,无法由通.

软件项目的铁三角模型:软件质量与快速开发的矛盾 - Richard

1456 1 2K

在“铁三角”模型中,有 3 个约束条件:资源Resource:有多少人投入范围Scope:需要完成多少工作时间Time:完成工作的时间它们形成了一个三角形,三角形的面积代表质量。如果您曾经听过人们谈论.

亚马逊基于机器学习的DevOps自动化利器产品介绍

1015 2K

尽管编程语言已经发生了巨大的发展,但它们的核心仍​​然有一个主要的共同点:让计算机以最有效和最无错误的方式实现目标。现代语言在许多方面使开发变得更加容易,但是在我们实际检查各个代码行以使它们无错误的方.

航空软件超级Bug:使用“Miss”的女性被误认为儿童导致飞行负荷计算错误

1079

英国航空公司TUI用来办理登机手续的软件出现编程错误,导致去年7月三趟航班的飞行载荷计算错误,这可能是一个严重的安全问题。根据英国航空事故调查局(AAIB)周四发布的报告[ PDF ] ,因为登机软件.

在不了解业务上下文情况下请容忍软件瑕疵Bug - jackhodkinson

1107 1

牢记业务上下文的技术决策建议,业务上下文是唯一的衡量软件质量的关键指标。如果有事情不对劲,软件工程师会感到不安。学生或初级工程师由于不熟悉编程概念而感到不安。渐渐地,我们对更高层次的抽象感到不安:我们.

测试驱动开发(TDD)实战心得 - DeniMoka

1953

熟悉TDD的三个定律这些规则是在实践中使用TDD的基础。它们限制我们一次只更改一件事。他们迫使我们采取步伐!记住并严格遵守这些规则,以便有效地使用TDD!在代码没有通过失败的单元测试之前不要编写任何生.

幽默:黑客式编程其实类似机器学习!

851 1

编程中不断调整改变各个地方,直至让其能够正常运行,这种方式称为黑客式编程,是一种坏的代码最佳实践;如果你这样做得足够快,它就是“机器学习”了,而且会付给你比当前高四倍的薪酬。 .

不同意马丁大叔的观点:Bug不是程序员的错 • Buttondown

1487 1 2K

为什么我们不同意罗伯特·马丁的主张: “缺陷是程序员的错。造成缺陷的是程序员,而不是语言。” 我说这是他的哲学的重大缺陷。从表面上看,这听起来很明显。缺陷来自代码,程序员编写代码,因此缺陷来自程序员。.

Defect和Bug有什么不一样? -Nikita

4998

Defect和Bug翻译成中文都是缺陷的意思,两者有什么区别?Bug是编程错误的结果,Defact缺陷是与需求的偏离。Defect缺陷不一定表示代码中存在bug,它可能是尚未实现但在软件需求中定义了的.

进行了1000多次代码评审的经验分享 - DEV

1417 1

在过去的三年中,我已经审查了1000多个拉(合并)请求。在那段时间里,我学到了很多东西–主要是关于如何不审阅代码,如何减轻过程的痛苦,使高质量的代码产生什么等等。拉取请求只需要做一件事最好的办法是将请.

幽默:我的代码不是固体SOLID,而是液体LIQUID - ctrlshifti

1250 1

我的代码不是固体SOLID,而是液体LIQUID:Low In Quality, Unrivaled In Despair(品质低劣,绝望无可匹敌)众说纷纭:我的代码是KISSNUWYD:Keep i.

五个代码审查反模式 - Trisha Gee

1256 2K

本文指出了所有开发人员在审查其代码或提交拉取请求时可能遇到的特定反模式,并对此进行了谴责。代码作者花了数小时甚至数天的时间来创建他们认为最有效的解决方案。他们考虑了多种设计方案,并采取了最相关的道路。.

2007年Windows Vista发行失败的主要原因是组织的复杂性(八月Lilleaas的博客)

1383 1

在本文中,我将探讨2007年Windows Vista发行失败后Microsoft Research的发现。Microsoft决定深入研究并找出问题出在哪里。Microsoft Research提出了.

专注于思维训练的正念冥想被过度利用 - CBC.ca

2070

在过去的几十年中,西方的正念冥想已经从边缘练习变成了主流现象。它的诺言,随着它在无数书籍和应用程序中出售给我们,令人着迷:这是一种使自己冷静下来并展现在自己面前的简单技术。它被视为我们紧张生活的灵丹妙.