refactor重构编程

     

权威解读什么是技术负债? - martinfowler.com

1480 2 3K

软件系统是容易的积聚一些累赘 cruft   : 内部质量不高,导致其比预想更难进行修改和进一步扩展系统。技术债务是沃德坎宁安.

使用Java 10的var类型推断的几个注意点! - DZone Java

1000 8K

不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改.

吐槽“技术债务” - morethancoding

2118 1

如果你在软件行业工作一段时间,你最终会听到 .

亚马逊是如何实现自动将美国国防部大型机cobol重构到政务云Java?

1452 2K

亚马逊的AWS团队将美国国防部在大型机上运行的COBOL系统成功迁移到基于x86 Red Hat Enterprise Linux(RHEL)的Java系统.

对单体系统优缺点评判到位:拆分Shopify单体工程的经验分享

2369 1 5K

Shopify是现存最大的Ruby on Rails代码库之一。它已被超过一千名开发人员使用了十多年。它封装了来自计费商家,管理第三方开发者应用程序,更新产.

整理你的代码:KonMari风格

1056 2K

如果您曾经使用Netflix,互联网,或者最近与任何人交谈过,您很可能听说过Marie Kondo或“那个整理秀”,即与Marie Kondo一起整理。Ma.

对编程技术的热情反而会使我们的工作更糟 · 哲学黑客

1652 2 4K

这是来自一篇生产实践的经验分享,程序员对技术热情,而不是对业务理解的热情会误导企业软件方向,导致很多挫折和失败,技术不是越新越先进越好,而应该匹配业务领域:.

Strangler重写模式

1503 2

来自Martin Fowler推荐的模式,这是描述重写一个重要系统的方法,Strangler是一种渐进的重写模式,而不是一刀切全部重写发布新版本: <.

Builder模式与Java语法

22980 2 13K

Builder模式是在Java中最流行的模式之一。它很简单,有助于保持对象不可变,并且可以使用 .

代码审查清单:Java并发 - Roman Leventov

858 4K

在 Apache Druid 社区,我们.

DDD欧洲会议纪要 - 第一天 — Matthias Noback

1091 4 2K

Eric Evans:主题演讲(“上下文中的语言”): 从基础知识开始(单词在 .

访问者模式的函数式实现

4412 1 8K

在面向对象的编程中,当需要向现有对象添加新操作时,通常使用访问者模式,但由于设计原因不可能修改对象本身并在实现中直接添加缺少的操作。为此,我们域中的每个对象.

用函数范式实现战略模式

692 5K

战略模式又称为策略模式,其目的是让我们能使用不同但可互换的算法。现在我们在另一个实际例子中使用这种模式。我们想要概括一个流程,该流程在输入中获取文本,使用给.

使用函数式实现观察者模式模式

1412 3K

观察者模式肯定是最常见和最广泛使用的模式之一。其目的是允许在某个事件发生时通知一个或多个对象并相应地采取行动。这种模式的主要抽象是Listener接口: .

使用函数式编程重构模板模式

1330 1 4K

为了实际说明模板模式在哪些情况下有用,我们假设我们有一个类如下的Resource类: .

用Lambdas重构策略设计模式

758 3K

策略模式是表示一系列算法的通用解决方案,并允许您在运行时选择它们。您可以将此模式应用于多种方案,例如使用不同的解析方式或格式化输入来验证具有  不同条件的输.

使用Lambdas重构工厂设计模式

1011 2K

工厂设计模式让我们创建对象而不将实例化逻辑暴露给客户端。例如,假设您正在为银行工作,他们需要一种创建不同金融产品的方式:贷款,债券,股票等。让我们绘制一个类.

使用Lambdas重构观察者设计模式

1295 4K

当某个对象(称为主体)需要在某些事件发生时(例如,状态更改)自动通知其他对象(称为观察者)的列表时,观察者设计模式是一种常见的解决方案。在使用GUI应用程序.

使用lambda实现装饰者模式 - Voxxed

1326 6K

Decorator模式允许通过使用多个嵌套层包装它来动态扩展现有对象的功能。所有这些层必须实现相同的接口,这样才能组合它们。 让我们用一个实际的例子证.

用Lambda重构责任模式链

1434 3K

责任链模式是创建处理对象链(例如一系列操作)的通用解决方案。一个处理对象可以做一些工作并将结果传递给另一个对象,然后该对象也做一些工作并将其传递给另一个处理.

对抽象方法仇恨的自白 - 250bpm

728 2K

我之前写过关于 抽象成本的文章 。一旦.

谈谈Bug引起的复杂性“Bug-O” — Overreacted

1098 5K

在编写对性能敏感的代码时,最好记住它的算法复杂性。它通常用 .

使用Builder设计模式实现不变性 - DZone Java

929 5K

Effective Java的一条建议是,除非有充分的理由让它们变得可变,否则你应该让你的类不可变。如果一个类不能成为不可变的,那么尽可能地限制它的可变性。.

如何有效地提升开发团队的水平? - bravenewgeek

1430 3 3K

客户经常会问的一个问题是:如何有效地提升开发团队的水平?你如何让一组从未编写过Python的工程师使其成为高效的Python开发人员?你如何让从未构建过分布.

维护大型JavaScript应用程序经验教训 - MathiasSchäfer

939 6K

这是我们从长期维护大型JavaScript应用程序中学到的经验教训。 在 .

Michael Feathers重构讲座的笔记

665 1

这是有关Michael Feathers的大力重构的四小时研讨会笔记: Michael开始讨论什么是 .

好的代码很容易删除!

1528 4K

编程是从浪费生命中学到的可怕教训,编写易于删除但不易扩展的代码。 “每一行代码都是在没有理由的情况下编写的,.

消极架构和关于代码的假设 - Matthias Noback - 博客

694

在Michael Feathers的 消极.

伊格尔森定律

1306

Any code of your own that you haven't looked at for six or more months might as we.