Refactor?or Patching?

简介:

郑昀 20090925

1、

几十年前,一帮钻研国外开源代码、研究过各个国家杰出软件工程理论的程序员们,产生了建立一个自主架构的愿望。

这些人有的在外企底层做过coding或者打杂,其中一位若干年后成为了 company 的首席架构师。一些人目睹了另一个庞大软件王国的四处扩张,威慑天下,心向往之并奉为圭臬,劝说其他人沿袭那个帝国的架构和思想,殊不知那个远古时代骨子里就流着邪恶之血的帝国也早已病入膏肓。更多人还是土狼,在国内红海中历经磨砺,几乎每个人都是人中之龙。

Meeting at Tusk

这样一群人聚集起来,在几十年前定下来了一个大架构,并设定了一个非常宏伟的 Vision,但这原本是一位圣贤为他的国度应付几百万独立访问者设定的,又如何能像古代的那些帝国开创者一样定为“祖宗之法不可变”呢?

2、

庞大的工程就这么建立了起来,它确实让 company 获益,创造了世人瞩目的诸多成就,顶住了巨大的以亿计的流量冲击。可人们都知道它隐隐有一个硬伤,没有太多实践经验的那群程序员,虽然早已学习过很多优秀的、行之有效的设计模式,但不知为什么却没有贯彻到他们亲手打造的工程里。

他们留下了太多生硬的接口,工作流多如牛毛,但指导它们运转的原则却不那么清晰,甚至蹩脚。随着时间的流逝,在这些接口上衍生出了太多的应用,有太多的新程序员在这些接口和服务上继续开发,并尝试升级系统,但就像多数工程一样,在一个跑了几十年的生产系统上,要让系统继续不间断地应付与日俱增的访问量,你只能零敲碎打修修补补。

无数新程序员学习这个系统的代码时,都呼吁“重构”“敏捷”。但项目总监、产品总监、运营总监们知道,“重构”谈何容易,谁能承受为了升级而暂停服务?谁能承担重构失败的责任?没有测试环境,只有生产环境,你怎么保证你的重构是正确的。

在原有系统上挂接的各个运营单位要在每一次系统小升级中分一杯羹,在每一个小补丁上都要嵌入自己的推广代码,所以也都不愿意自己被砍掉。

你有什么好办法?

Refactor

郑昀 20090925 北京报道

目录
相关文章
RGB颜色模型和HSV颜色模型
RGB颜色模型和HSV颜色模型“【5月更文挑战第22天】”
968 2
|
算法 测试技术 区块链
Web3.0的五大趋势,你是否已经了解?
Web3.0的五大趋势,你是否已经了解?
368 0
|
编解码 人工智能 物联网
如何快速搭建一个像“天猫精灵”的智能语音助手?
天猫精灵相信大家都不陌生了,它是阿里巴巴于2017年7月5日发布的AI智能终端品牌。让用户以自然语言对话的交互方式,实现影音娱乐、购物、信息查询、生活服务等功能操作,成为消费者的家庭助手。本文将介绍如何快速搭建一个像“天猫精灵”一样聪明的智能语音助手。
如何快速搭建一个像“天猫精灵”的智能语音助手?
|
12月前
基于VisualGLM-6B大模型的本地部署与推理
本文是基于清华开源的VisualGLM-6B 支持图像中英文的多模态对话语言模型,进行了一系列本地的简单部署,包括环境配置、模型部署、演示推理、模型微调(官方提供的代码),由于个人电脑显存不足,最后是在阿里云服务器交互式平台DSW终端进行微调和训练操作的。
367 17
|
10月前
|
机器学习/深度学习 人工智能 算法
o3-mini:OpenAI 发布最新推理模型,强大的STEM推理能力,灵活调整推理强度
OpenAI o3-mini是OpenAI推出的全新推理模型,专为科学、数学和编程等技术领域优化,支持三种推理强度,灵活调整性能。
594 25
o3-mini:OpenAI 发布最新推理模型,强大的STEM推理能力,灵活调整推理强度
|
10月前
|
人工智能 数据挖掘 测试技术
大模型代肝,自动刷《崩铁》升级材料,Claude操纵计算机还能这么用!
Claude 3.5 Computer Use是首个提供公共测试的具备图形用户界面(GUI)操作能力的前沿AI模型,标志着GUI自动化领域的重要突破。它通过API调用实现端到端解决方案,能根据用户指令和视觉GUI状态生成操作,无需外部知识辅助。研究展示了其在网页搜索、工作流和生产力软件等任务中的卓越能力,并揭示了滚动导航等局限性。未来有望进一步优化并拓展应用领域。论文链接:https://arxiv.org/pdf/2411.10323。
350 38
|
人工智能 搜索推荐 安全
AI技术在医疗领域的应用与挑战
【10月更文挑战第27天】 本文探讨了人工智能(AI)在医疗领域的应用,包括疾病诊断、药物研发和患者管理等方面。同时,也分析了AI在医疗领域面临的挑战,如数据隐私、伦理问题和技术局限性等。通过对这些方面的深入分析,我们可以更好地理解AI在医疗领域的潜力和发展方向。
494 59
|
监控 物联网 区块链
新技术趋势与应用:新兴技术的发展前景与实践探索
【5月更文挑战第25天】在21世纪的科技浪潮中,新兴技术如区块链、物联网、虚拟现实等正以前所未有的速度发展,引领着全球的创新潮流。这些技术不仅改变了我们的生活方式,也正在重塑着社会的运行模式。本文将深入探讨这些新兴技术的发展趋势和应用场景,以及它们如何影响我们的生活和社会。
|
机器学习/深度学习 存储 人工智能
新一代数据库技术:融合人工智能与分布式系统的未来前景
传统数据库技术在应对大规模数据处理和智能化需求方面逐渐显露出瓶颈。本文探讨了新一代数据库技术的发展趋势,重点关注了人工智能与分布式系统的融合,以及其在未来数据管理和分析中的潜在优势。通过深度学习和自动化技术,新型数据库系统能够实现更高效的数据处理和智能化决策,为企业带来更灵活、可靠的数据解决方案。
|
数据可视化 机器人 编译器
科力雷达Lidar使用指南
本文是科力2D激光雷达Lidar的使用指南,包括了雷达的安装、编译、IP配置、上位机软件使用、ROS节点运行、参数配置、官方文档和软件资源链接,以及雷达通讯建立失败等问题的解决方案。适用于Ubuntu20.04(x86) PC和Ubuntu20.04(Arm) Nvidia Orin环境。
607 1
科力雷达Lidar使用指南