写点什么

重构

2 人感兴趣 · 53 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/cb/cbb29c150e1d22161ebe7cf87289ea8a.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 搬移函数

用户头像
顿晓4 月 22 日

搬移函数最直接的一个动因是,它频繁引用其他上下文中的元素,而对自身上下文中的元素却关心甚少。此时,让它去与那些更亲密的元素相会, 通常能取得更好的封装效果,因为系统别处就可以减少对当前模块的依赖。

https://static001.geekbang.org/infoq/a2/a26c7209dfbda39d9ae00ed5f296c946.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 以查询取代临时变量

用户头像
顿晓4 月 21 日

7.4 以查询取代临时变量(Replace Temp with Query)

https://static001.geekbang.org/infoq/c2/c2318b69f908274fc2ad913ff6927362.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 以对象取代基本类型

用户头像
顿晓4 月 20 日

7.3 以对象取代基本类型(Replace Primitive with Object)

https://static001.geekbang.org/infoq/24/24de6d2bfe44a4d8535387589a0e3d43.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 封装记录

用户头像
顿晓4 月 19 日

6.11 拆分阶段(Split Phase)

https://static001.geekbang.org/infoq/92/92f6ee1330fb0569b3574325cc992093.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 函数组合成变换

用户头像
顿晓4 月 18 日

6.9 函数组合成类(Combine Functions into Class)

https://static001.geekbang.org/infoq/92/92f6ee1330fb0569b3574325cc992093.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 引入参数对象

用户头像
顿晓4 月 17 日

变量命名不是一视同仁,使用范围越广,名字的好坏就越重要。

https://static001.geekbang.org/infoq/a7/a7751192568700f933fc25671a071192.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 封装变量

用户头像
顿晓4 月 16 日

6.6 封装变量(Encapsulate Variable)

https://static001.geekbang.org/infoq/13/133b930a48d4b13819e8f002bd6a076f.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 改变函数声明

用户头像
顿晓4 月 15 日

6.5 改变函数声明(Change Function Declaration)

https://static001.geekbang.org/infoq/69/69c97b930ce5aa511df237388b9948a8.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 提炼变量

用户头像
顿晓4 月 14 日

曾用名:引入解释性变量(Introduce Explaining Variable) 从曾用名就可以看出,这个方法主要是用来改善代码表达能力的。

https://static001.geekbang.org/infoq/a1/a1480390de6b47be22644f91553f7c9b.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》- 内联函数

用户头像
顿晓4 月 13 日

书上说是 提取函数的反向操作,其实我觉得为了降低大脑思考负载,可以把这条合并到提取函数中。

https://static001.geekbang.org/infoq/0d/0dc96c14bcf365696ddb2088851f2813.jpeg?x-oss-process=image/resize,w_416,h_234

重读《重构 2》

用户头像
顿晓4 月 11 日

要做设计、理解设计,必须先理解《重构2》,因为里面讲的24个坏味道是不能那样设计的原因。

https://static001.geekbang.org/infoq/d7/d776443e0e0ceed7d85af753ee53af66.png?x-oss-process=image/resize,w_416,h_234

我的 2015-2018 —— 银行软开三年项目回顾

用户头像
清秋4 月 9 日

借着“项目复盘”的机会,回顾自己工作的真实项目。本项目是我进入职场的第一个项目。从研三实习开始到第一个部门结束,一直都在做的项目。我们内部将这种项目称作“滚动开发包”,从名字就能看出来,持续滚动开发就是这个项目最大的特点。

https://static001.geekbang.org/infoq/dc/dc096b7ae22d1b1a25d6785587f4da1d.png?x-oss-process=image/resize,w_416,h_234

有哪些可以提高代码质量的书籍推荐?

用户头像
Guide哥4 月 6 日

这篇文章的内容其实很早就写了,并且,我也已经同步在了我的 Github 的一个仓库中(仓库内容还在继续完善中),地址:https://github.com/CodingDocs/awesome-cs-books(阅读原文即可直达) 。对应的 Gitee地址:https://gitee.com/SnailClimb/awesome-cs (

https://static001.geekbang.org/infoq/ff/ff6670b735c473146deec899448487d1.jpeg?x-oss-process=image/resize,w_416,h_234

配置化开发是否可行?

用户头像
顿晓4 月 3 日

想把一切代码都搞成可配置,手里拿着锤子,眼里都是钉子。

重构: 自己挖的坑自己填

用户头像
夏兮。4 月 3 日

程序员经常吐槽的件事是,前人留下了一堆代码像一坨*....其实很多时候,我们自己也是写的那样样子的,当你隔半年在重新审查自己的代码,如果觉得依然很美好,要么没救了,要么就真的是大佬。那大部分的人应该是,咋就写了一坨啥呢?还有救!!!如何自救呢?

https://static001.geekbang.org/infoq/4a/4abae53c01b9078aab2d68884ca03342.png?x-oss-process=image/resize,w_416,h_234

极限编程技术实践

用户头像
Teobler3 月 1 日

上篇文章介绍了 TDD,这次我们将极限编程中的所有技术实践合起来一起聊聊。

https://static001.geekbang.org/infoq/e7/e71533bab86a6128e56c6e0916a88a9a.jpeg?x-oss-process=image/resize,w_416,h_234

别再这么写代码了,这几个方法不香吗?

用户头像
楼下小黑哥2 月 25 日

巧用 Map 这几个方法,几行代码搞定需求

Koa 中间件体系的重构经验

用户头像
智联大前端2 月 22 日

智联招聘的大前端Ada提供的Web服务器可以同时运行在服务器端及本机开发环境,其内核是Web框架Koa。Koa以其对异步编程的良好支持而声名在外,而同样让人称道的还有它的中间件机制……

关于代码重构的灵魂三问:是什么?为什么?怎么做?

用户头像
华为云开发者社区2020 年 12 月 21 日

摘要:让我们再回到重构的基本概念,思考我们需要怎样的重构辅助服务。

年轻人不讲武德,竟然重构出这么优雅后台 API 接口

用户头像
楼下小黑哥2020 年 12 月 2 日

一篇关于如何重构出更加优雅 API 接口

https://static001.geekbang.org/infoq/f3/f3dc01f1407335c3fd141e192c1cc3d5.jpeg?x-oss-process=image/resize,w_416,h_234

写了一套优雅接口之后,领导让我给大家讲讲这背后的技术原理

用户头像
楼下小黑哥2020 年 12 月 2 日

一文详解 Filter、Interceptor、ResponseBodyAdvice 区别

害怕重构?都怪我太晚和你介绍该如何重构,现在我来了

用户头像
小Q2020 年 11 月 9 日

前几天偶然看到一位网友发的内容,说是老系统改了一行代码就崩溃了,着实令人头秃。越是成功的公司,越是有大堆的老系统和无法统计的遗留代码,尤其是基础服务相关的代码,那简直是按下葫芦浮起瓢的现实版本。创业公司倒是好一点,没有历史包袱。我们也经常重

https://static001.geekbang.org/infoq/34/342057ecd9ec7621089493f741aa3737.jpeg?x-oss-process=image/resize,w_416,h_234

编程核心能力之重构

用户头像
顿晓2020 年 7 月 26 日

「重构能力」「封面故事」「如何读」「坏味道」「重构动作」「重构的阻力」

https://static001.geekbang.org/infoq/dc/dc7530e9b7dd7f33f68d63ef0691da8c.png?x-oss-process=image/resize,w_416,h_234

《重学 Java 设计模式》PDF 出炉了 - 小傅哥,肝了 50 天写出 18 万字 271 页的实战编程资料

用户头像
小傅哥2020 年 7 月 13 日

Hello, world of design !你好,设计模式的世界!欢迎来到这里,很高兴你能拿到这本书,如果你能坚持看完并按照书中的例子进行实践,那么在编程开发的世界里,就又多了一个可以写出良好代码的人,同时也为架构师培养储备了一个人才。

https://static001.geekbang.org/infoq/ec/ec58e367398ae8f24a2ab66470d2f008.png?x-oss-process=image/resize,w_416,h_234

重学 Java 设计模式:实战访问者模式「模拟家长与校长,对学生和老师的不同视角信息的访问场景」

用户头像
小傅哥2020 年 7 月 10 日

能力✊,是你前行的最大保障!否则你只能看见你能看见的。再好的公司,再高的职位,也抵不住环境的变化。也就只有你自己拥有`能留下的本事`和`跳出去的能力`,才可以过的洒脱随意。

https://static001.geekbang.org/infoq/c0/c00946dc8a36d0011fd2938a31541463.png?x-oss-process=image/resize,w_416,h_234

重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」

用户头像
小傅哥2020 年 7 月 8 日

键盘侠⌨、网络喷壶🤩,不要被哪些根本不能让你成长的人影响你奋斗的方向。黎明前的坚守是最后的冲锋,岁月不会辜负任何一个努力拼搏的人。也许有一天你会万分感谢自己以前自己坚持下来的决定,没有任何人知道你能行。

https://static001.geekbang.org/infoq/a5/a5796b36b626a14f613893e1a7cc36f3.png?x-oss-process=image/resize,w_416,h_234

重学 Java 设计模式:实战策略模式「模拟多种营销类型优惠券,折扣金额计算策略场景」

用户头像
小傅哥2020 年 7 月 6 日

文无第一,武无第二!😼不同方向但同样努力的人,都有自身的价值和亮点,也都是可以互相学习的。不要太过于用自己手里的矛去攻击别人的盾🛡,哪怕一时争辩过了也多半可能是你被安放的角色不同。取别人之强补自己之弱,矛与盾的结合可能就是坦克。

https://static001.geekbang.org/infoq/74/7494c5e57f1f03febf7f39bb10f744fc.png?x-oss-process=image/resize,w_416,h_234

重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」

用户头像
小傅哥2020 年 7 月 3 日

写好代码三个关键点是什么😯?如果把写代码想象成家里的软装那么,架构是(房间的格局)、命名是(品牌和质量)、注释是(尺寸大小说明书),只有这三个点都做好才能完成出一套赏心悦目的家。

https://static001.geekbang.org/infoq/2e/2ebec68ce53ad145f04591e3fb9e0e6e.png?x-oss-process=image/resize,w_416,h_234

重学 Java 设计模式:实战备忘录模式「模拟互联网系统上线过程中,配置文件回滚场景」

用户头像
小傅哥2020 年 6 月 29 日

实现不了是研发的借口?实现不了,有时候是功能复杂度较高难以实现,有时候是工期较短实现不完。但很难与产品沟通清楚研发具体的时间都花在哪了,所以在研发架构层面往往需要设定;功能拆解、研发设计、设计评审、评估工期,开始开发。

重构_重构资料文章-InfoQ写作平台