首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/3774419/blog/4700628

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

实战篇:一个核心系统 3 万多行代码的重构之旅

经典著作《重构》这本书中有这么一段话: 一开始,我所做的重构都停留在细枝末节上。随着代码趋向简洁,我发现自己可以看到一些设计层面的东西了,这些是我以前理解不到的,如果没有重构,我达不到这种高度。 重构,着实是一件让程序员兴奋的事情。 今年年初,我们团队完成了一个复杂项目的重构工作,它属于广告系统最核心的引擎部分,大概有 300 多个文件,3 万多行代码。 从技术方案设计到最终全量上线仅仅花了 1 个月左右的时间,而且没有产生事故。 这应该是我 8 年程序生涯中,经历过的最大型的同时最成功的一次重构项目:速度足够快、计划比较周全、质量过关。 01 先聊聊这个系统的历史包袱 我们的广告引擎在这次重构前大概经历了1年半时间的迭代,初期针对的是搜索场景,业务单一,流程清晰。 2019年开始,公司的广告业务开始快速扩张,收入几乎是指数级的增长。在这个过程中,我们的广告引擎面临了两个挑战: 1、业务场景开始变得复杂,除了搜索广告,还需要支持信息流推荐以及相似推荐场景。 2、广告流量开始快速增加,除了满足功能性需求,还需要兼顾好性能。 经过梳理,整个引擎有大部分逻辑是可以公用的,因此我们定义了一个主...

一行Python代码能做出哪些神器的事情

声明:这些小例子都来源于网络(最后给出参考网址),自己抱着学习的态度整理得到。如果侵犯了作者权益,私信我我会删除掉 import requests 对于一个用C++写过爬虫的人来说,没有比这一行更加丧心病狂的了!!! (1)一行代码启动一个Web服务 python -m SimpleHTTPServer 8080 # python2python3 -m http.server 8080 # python3 (2)一行代码实现变量值互换 a, b = 1, 2; a, b = b, a (3)一行代码解决FizzBuzz问题: FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz” print(' '.join(["fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or str(x) for x in range(1, 101)])) (4)一行代码输出特定字符"Love"拼成的心形 print('\n'.join([''.join([('Love'[(x-y) % len(...

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。