refactor重构编程

     

如何通过代码库的抽象分支以增量方式进行大规模更改 - Paul

712

团队经常使用版本控制分支进行大规模更改,以便他们可以继续开发功能并修复主线上的错误。 但是如果您的代码位于分支上,则它不能被集成的。 合并回主线.

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

980
这个 Java 代码库工具将帮助您识别应该首先重构的上帝类,也就是意大利面条的“ .

副作用是编程头号敌人!如何剥离它?- spin

1105 1 2K

随着时间的推移,我注意到一种设计启发式方法,它极大地帮助了我完成无数项目。 这种启发式的地方在于它在概念上易于理解和应用,但它自然会引导您更接近函数式.

重构复杂条件的规则设计模式 - levelup

1372 1 6K

通过编写if else条件语句来验证对象是软件开发中的一项常见任务。 想象一下,开发人员收到了以下文件验证要求: 只允许txt.

编写可维护的代码是一种沟通技巧 - Max Chernyak

1224 1 6K

编写可维护的代码很容易。只需保持方法和参数列表简短,名称和注释较长,并遵循样式指南。 正如一位著名记者曾经写道:“对于每一个复杂的问题,都有一个清晰、.

使用反应式编程替换Java自动资源管理 - Arvind

1333 1 5K

自动资源管理( .

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

794 2K
技术债务是由于在构建功能时采用了太多的技术捷径。 产品团队创建了一个雄心勃勃的路线图,几乎没有犯错的空间,工程师在已经过时的软件基础设施上进行不守规则.

避免过早的软件抽象 - Jonas

964 1 4K
让我们看一些在实践中经常发生的过早抽象的具体案例。这些都是基于在我们自己的代码库中找到的真实示例。 职责抽象得太细了 .

重构 001 - 删除Java的Setter方法

867 4K

Setter方法违反了不变性并添加了意外耦合! 重构步骤: 找到 setter 的用法 如果您正在设置基本属性,.

成熟机器学习系统持续改进面临的问题 - danshiebler

730

任何在大公司建立机器学习模型的人都会认识到。对成熟的机器学习系统进行可衡量的改进是极其困难的: 机器学习系统极其复杂,并且具有破坏软件组件之间抽象的令.

用 set或map修复if-else的坏味道 - egkatzioura

1128 1 3K

有时,我们的代码库中可能会出现一些巨大的“if”语句。必须维护这些语句并一遍又一遍地更改相同的代码块。这在“if”语句检查变量是否属于某个值范围的情况下也很.

幽默:重建模、重建和重构

1366 1
业务:重建模remodeling 架构:重建reconstructing 开发:重构refactoring   .

APIClarity如何解决API安全性的重构?

1168

API 重构是通过观察进出该 API 的流量来构建 API 规范。如果做得好,API 重构可让您了解微服务使用的 API,并使您能够评估 API 安全风险。.

重建模与重构的区别

2761 5
Refactoring is tactical, remodelling is strategic. 重构是战术性的!  重新建模是战略性的。 .

软件开发重点放在重用上是错误的 - Grady

1349 1

根据我的经验,将软件开发重点放在重用上是错误的。相反,专注于重构文化:这不仅会产生质量越来越高的更简单的软件,而且随着时间的推移,重用将以模式和框架的形式出.

将if-else之类嵌套循环重构为函数式管道 - XP123

1146 1 7K

嵌套结构难以阅读;管道stream通常更容易阅读和思考。 嵌套结构具有“厄运之箭”的感觉,您需要同时管理所有父结构的 .

幽默:重构的德文定义

622 1

重构这个词语refactoring的德文定义: .

Share Pie: 隐藏的DDD宝藏 -Nick

1995 4 5K

领域驱动设计中有一个重要方面很少被提及。我认为这是 DDD 最重要的方面,但是如果您在网上搜索“领域驱动设计”,您不会找到它。 这件宝藏一直隐藏在人们.

一位程序员如何花20年编写700,000行代码的游戏?

802 1

矮人要塞(Dwarf Fortress)是一款免费游戏,可以随机生成的幻想世界中扮演冒险家或充满矮人的堡垒。这一切都发生在一个 ASCII 界面中。 .

在将单体迁移到微服务之前需要了解的模式 - Abhishek

937 1

正确实施时,微服务比单体应用具有很多优势。许多组织希望将其单体应用程序代码更改为微服务代码。事实证明,迁移到微服务并不容易。您应该问的第一个问题是,您真的需.

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

1370 2 5K

以下是无法理解Bug分类: 很难复制 你不太了解整个系统 很难获得有关Bug的数据 你.

从 CRUD 迁移到事件溯源的秘诀 - eventstore

1161 2 3K

事件溯源是高性能协作域的一种很好的架构风格,可以保证它增加的复杂性。但正如我之前所说,就像任何其他原则或实践一样,即使是事件溯源也有利有弊。而且它不是顶级架.

为什么程序员会有最喜欢与最讨厌的编程语言?(earthly)

1569 1 5K
Stack Overflow的2020年调查结果对“最恐惧的编程语言”和“最喜欢的编程语言”进行了排名。这两个排名都来自这个问题: 在过去.

乱弹马斯克与比尔盖茨两位首富的不同思维模式

2247 4

比尔盖茨在地球范围内搞内卷化,马斯克着眼火星外卷化,这是他们两个方向性最大不同: 马斯克和比尔盖茨曾经先后成为过世界首富,但是他们的思维模式不同,比尔盖茨做了.

单一责任SRP设计举例 - macerub

965 1
单一责任/职责原则(SRP):“一个模块应该只承担一个责任”。   示例:客户Customer类。 generateIn.

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

1018 1

牢记业务 上下文 的技术决.

向微服务数字化转型的方法 -DZone

1059 2K
技术团队和管理层非常热衷于使用一个称为微服务的新流行语。但这涉及转换的成本。 您如何进行这种转变?进行转换值得吗?还是继续进行一些修改以继续使用当前方.

满足用户需求的优秀软件的关键是什么 - macerub

1290 2

能够满足用户需求的优秀软件的关键是什么?对我来说,它不是编程语言或框架。它是对业务域以及系统如何在用户 .

YAGNI原则是什么? -oliverkumper

2758

YAGNI 是You Ain't Gonna Need It(你不会需要它)的简写,是极限编程的关键原则。 YAGNI意思非常简单:仅在您真正需要它们.