写点什么

重构

5 人感兴趣 · 73 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/82/82923f4a2bc451ea089bd25a433e2ef3.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

电商订单履约 - 卖家发货演化史

订单的履约之路就是从发货开始,看似简单的发货功能,其背后却藏着许多的小秘密。

三个实用重构技术,改进你的代码

代码重构是在不改变外部功能的情况下对现有代码进行改进。它是编程的核心部分之一,不容忽视。否则,您就无法获得更好的代码版本。代码重构可以增强代码的可读性、可维护性和可扩展性。它还旨在提高性能和开发人员的工作效率。今天,我们将探讨一些可以帮助您

https://static001.geekbang.org/infoq/06/069bc561a8bf3de0dbf18fde0c66b92b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面对一堆烂代码,重构,还是重新开发?

写烂代码很容易,但代码写成一坨屎,还能正常运行,那就要有点水平才行。

https://static001.geekbang.org/infoq/9e/9ec1af7fa7fe6c19fcfd5aaadc542ecc.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

得物社区计数系统设计与实现

社区业务有非常多的数字统计场景,比如需要查询用户发布的图文内容数、用户点赞的视频内容数等等,且这些数字一般都需要能够支持高度精确性、高性能查询和批量查询等能力。

工作一年,我重新理解了《重构》

重构是一种在不改变代码本身执行效果的前提下,让代码变得更加整洁易懂的方式。代码不仅要让机器能够实现预期的处理逻辑,更要能够面向开发人员简洁易懂,便于后期维护升级。

https://static001.geekbang.org/infoq/97/9785e663234f77f331ef56d0a10e2c78.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

遗留代码处理技巧与案例演示

本质是一种技术债务,产生原因一方面是业务原因:如业务本身场景繁多、流程复杂等;另一方面是技术原因:如代码不规范、设计不合理、祖传代码文档注释缺失等。它会影响我们的程序很多方面:如可读性、可修改性、可复用性、可维护性、可测试性等。

日均数亿推送稳定性监控实践

用户头像
得物技术
2022-09-22

得物消息中心每天推送数亿消息给得物用户,每天引导数百万的有效用户点击,为得物App提供了强大,高效且低成本的用户触达渠道。

https://static001.geekbang.org/infoq/5d/5db11d46274ee2b336e64d99f8711af3.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

重构指标之如何监控代码圈复杂度

软件应用在发展到适当时机,”重构”,是开发过程中不可避免需要进行的一项工作。重构代码,以适配当前模块设计之初未考虑到的多样化场景,并增加模块的可维护性、健壮性、可测试性。那么,如何明确重构的方向,以及量化重构的结果呢?

社区点赞业务缓存设计优化探索

用户头像
得物技术
2022-07-26

本文对得物社区的点赞业务如何做到高性能响应以及历史上在缓存使用上关于高性能、稳定性、低成本上的优化探索过程进行讲述,希望能给读者带来一些收获。

“整洁架构”和商家前端的重构之路

用户头像
得物技术
2022-07-06

团队归属于后方业务支撑部门,组内的项目都以pc中后台应用为主。对比移动端应用,代码库比较庞大,业务逻辑也相对复杂。在持续的迭代过程中,我们发现当前的代码仓库仍然有不少可以优化的点。

得物技术复杂 C 端项目的重构实践

用户头像
得物技术
2022-06-22

社区 C 端的重构实践具有一定的复杂度,除了技术迁移改造的成本外,涉及的几个仓库是不同技术选型(框架 & 上层组件等)、项目快速的敏捷迭代、需求高并发及多人协同开发维护状态。

得物技术埋点自动化验证的探索和最佳实践

用户头像
得物技术
2022-06-08

埋点对电商类app的业务发展一直有着重要的指导作用,但是其复杂的数据组成使得它的稳定性难以得到保障,往往业务逻辑的一些重构就会导致一些埋点属性甚至是整个埋点的丢失。

https://static001.geekbang.org/infoq/7b/7b39724ec5efa5c6d9c63334c5475ef5.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

老旧项目二次开发指南

用户头像
阿毛
2022-04-19

背景:最近新入职公司,负责技术。由于各种原因现在项目全权交由我们团队负责,之前的研发团队不再参与(及以后可能完全联系不上)。作为技术负责人,又刚入职公司压力巨大。经过两个多月的改造,算是接手得还算行。该项目存在的问题比较典型,特此记录。欢迎

得物技术登录组件重构

用户头像
得物技术
2022-03-30

登录模块对于一个App来说是十分重要的,其中稳定性和用户流畅体验更是重中之重,直接关乎到App用户的增长和留存。

https://static001.geekbang.org/infoq/2d/2d2c17c12eda06bd63040bc2e33947e5.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《重构 JavaScript》读后感和部分摘录

用户头像
道道里
2022-03-02

可以这样形容:有一个密室,给你一些物品,然后从上帝视角告诉你物品的作用,以及你可以选择或参考的路线,也包括你可能走过的错误路线分析,最后告诉你如何走的更漂亮

https://static001.geekbang.org/infoq/04/0487121e3ae23d84bb2ef2a7b4fa9b95.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

为什么每次加入一个新的团队,都会觉得遗留系统是一坨“屎”?

用户头像
蔡超
2022-01-03

就算在Amazon这样的全球顶级IT公司,在分享重构时,每当我问到不同团队关于手上的遗留系统的问题时候,他们的答案几乎都是一样的:“遗留系统简直就是一坨屎”。可是不出意外的是很快他们重新构建的系统又变成了别人眼中的“另一坨屎”。

架构团队如何重构内部系统

用户头像
智联大前端
2021-12-02

前端团队难免需要维护一些内部系统,有些内部系统由于开始的架构设计不合理,随着业务复杂度的增加,“坏味道”代码也越来越多,从而导致认知和沟通成本上升,甚至问题频出,此时,重构就自然成了一个选择。

开发好能重构的代码,都是这么干的

摘要:绝大多数码农没日没夜被需求憋着肝出来的代码,无论有多么的吭哧瘪肚,都不可能有重构,只有重新写。

https://static001.geekbang.org/infoq/2a/2a95d48518bdea4d91ad302e4e4505bc.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

拯救遗留系统:重构函数的 7 个小技巧

用户头像
Phoenix
2021-10-09

让你的程序长期稳定的迭代的方法

https://static001.geekbang.org/infoq/6e/6e36c129c231ede3c91c8f4864522035.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

聊聊知乎订单系统迁移

用户头像
知一
2021-06-30

本文主要介绍知乎订单系统后端语言栈的转型升级过程,包括其间踩过的一些坑和遇到的一些问题。一来是想通过本篇文章为其它应用服务转型提供借鉴经验,二来是总结对于订单系统的理解。

https://static001.geekbang.org/infoq/cb/cbb29c150e1d22161ebe7cf87289ea8a.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-22

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

https://static001.geekbang.org/infoq/a2/a26c7209dfbda39d9ae00ed5f296c946.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-21

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

https://static001.geekbang.org/infoq/c2/c2318b69f908274fc2ad913ff6927362.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-20

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

https://static001.geekbang.org/infoq/24/24de6d2bfe44a4d8535387589a0e3d43.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-19

6.11 拆分阶段(Split Phase)

https://static001.geekbang.org/infoq/92/92f6ee1330fb0569b3574325cc992093.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-18

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

https://static001.geekbang.org/infoq/92/92f6ee1330fb0569b3574325cc992093.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-17

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

https://static001.geekbang.org/infoq/a7/a7751192568700f933fc25671a071192.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-16

6.6 封装变量(Encapsulate Variable)

https://static001.geekbang.org/infoq/13/133b930a48d4b13819e8f002bd6a076f.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-15

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

https://static001.geekbang.org/infoq/69/69c97b930ce5aa511df237388b9948a8.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-14

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

https://static001.geekbang.org/infoq/a1/a1480390de6b47be22644f91553f7c9b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

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

用户头像
顿晓
2021-04-13

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

重构_重构技术文章_InfoQ写作社区