首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小二十七

    代码重构:类重构8 个小技巧

    就要运用一些重构的技巧,来让代码结构保持整洁,从而让后续的需求扩展更加稳定 1:合理的分配函数 说明:从 OOP 的角度来考虑,如果函数之间频繁的调用,显然适合放在一个对象当中 使用场景:在 A 对象内 示例一 空说很难理解,我们先展示一段代码,来展示说项重构的手法: public class Account { // 计算透支费用 double overdraftCharge() { ,程序会跟随需求不断变化,没有任何设计是可以保持一成不变的,所以这里的重构方法,不需要等到特定的时间和特定的规划再去进行,重构应该是融入在日常开发当中,随时随地都在进行的 3:拆解大类 说明:随着需求越来越多 省略 get/set 代码... } 这时候 Person 对象的职责就简单和清晰很多了,对象结构如下: TelePhoneNumber 对接结构图如下: 总结 拆解大类,是常见的重构技术手段 arg.getDate() + 1); } 总结 通过扩展工具类,为工具类增强更多的功能,从而满足业务的需求 如果有可能(获取修改工具类的权限),那么可以考虑把扩展函数搬到工具类内部,让更多人复用 8

    1.5K20发布于 2021-10-20
  • DevSecOps国产化浪潮:安全左移实践中的技术突围与市场重构

    DevSecOps国产化浪潮:安全左移实践中的技术突围与市场重构在数字化转型与网络安全双轮驱动的当下,中国DevSecOps市场正在经历从工具引进到自主创新的关键转折。 国际形势变化与政策法规实施的双重作用力,正加速推动软件开发安全体系的重构进程。 在国产化替代的宏观背景下,工具链的安全可控性被赋予新的内涵。除常规的功能安全外,密码算法合规性、核心代码自主率等指标已成为政企客户的技术采购硬门槛。

    15110编辑于 2026-01-23
  • 来自专栏数据STUDIO

    8重构技巧使得Python代码更Pythonic

    process_standard_payment(payment) else: process_international_payment(payment) 7.用in运算符替换同一个变量的多次比较 我们甚至可以进一步重构以前的代码 process_standard_payment(payment) else: process_international_payment(payment) 8.

    45920编辑于 2023-09-18
  • 来自专栏菩提树下的杨过

    利用java8对设计模式的重构

    java8中提供的很多新特性可以用来重构传统设计模式中的写法,下面是一些示例: 一、策略模式 上图是策略模式的类图,假设我们现在要保存订单,OrderService接口定义要做什么,而NoSqlSaveOrderStragegy 使用java8重构后,可以把上面的3个模板(包括抽象类模板)减少到1个,参考下面: public class PushTemplateLambda { public void push(int subject.registerObserver(new StockObserver()); subject.notifyAllObserver("001"); }   用java8重构后 Processor p2 = new ProcessorImpl2(p1); p2.process("something happened"); } 用java8重构后 重要提示:什么时候该用lambda,什么时候不用,这是要看情况的,如果处理逻辑相对比较简单,可以用lamdba来重构,以便让代码更简洁易读,如果处理逻辑很复杂,应该还是用“类”。

    1.4K120发布于 2018-03-28
  • 来自专栏数据STUDIO

    8重构技巧使得Python代码更Pythonic

    process_standard_payment(payment) else: process_international_payment(payment) 7.用in运算符替换同一个变量的多次比较 我们甚至可以进一步重构以前的代码 process_standard_payment(payment) else: process_international_payment(payment) 8.

    55230编辑于 2023-09-18
  • 金融核心系统国产化重构:基于腾讯云 TDSQL 的架构升级与价值验证

    部署单元化与云原生容器化架构: 支持 TDSQL-JDBC 单元化部署 及“TDSQL + 麒麟 OS + ARM”的全栈国产化方案。 验证业务连续性与降本增效核心指标 基于 14 个金融领域典型案例(涵盖银行、保险、券商),腾讯云 TDSQL 在核心交易系统重构中实现了关键业务指标的显著优化: 成本结构优化 (Cost Efficiency ) 福建海峡银行: 核心系统国产化替代后,软硬件投入大幅降低,预计每年可节约成本 800 万元。 未来,瑞众保险将继续以客户为中心,持续推进核心系统国产化、云原生建设,为客户提供更安全、更稳定、更高效的保险服务。” “可复用、可对照”的国产化落地路径。

    37110编辑于 2026-03-03
  • 来自专栏AI智韵

    YoloV8改进策略:聚焦线性注意力重构YoloV8

    本文将FLatten Transformer的线性注意力机制引入YoloV8重构YoloV8的模块。 YoloV8官方测试结果 YOLOv8l summary (fused): 268 layers, 43631280 parameters, 0 gradients, 165.0 GFLOPs p3 230 105 0.99 1 0.995 0.801 p8 0.831 Speed: 0.2ms preprocess, 3.8ms inference, 0.0ms loss, 0.8ms postprocess per image 改进一 测试结果 YOLOv8l Ultralytics YOLOv8.0.200 Python-3.11.5 torch-2.0.1 CUDA:0 (NVIDIA GeForce RTX 3090, 24576MiB) YOLOv8l

    20310编辑于 2024-10-22
  • 来自专栏我要变牛

    Java杂谈之Java8重构指南

    本文简单介绍使用java8特性是如何另辟蹊径解决设计模式原来试图解决的问题的。 1、策略模式 策略模式代表了解决一类算法的通用解决方案,可以在运行时选择使用哪种方案。 使用java8后可以看出ValidationStrategy是一个函数接口了而且它还与Predicate具有同样的函数描述。 2、2 JAVA8方式 使用Lambda表达式同样也可以解决这些问题(创建算法框架,让具体的实现插入某些部分)。想要插入的不同算法组件可以通过Lambda表达式或者方法引用的方式实现。 java8后可以像引用方法一样引用构造函数。 下面就是一个引用贷款构造函数的示例: Supplier<Product> loanSupplier = Loan::new; Loan loan = loanSupplier.get(); 通过这种方式可以重构之前的代码

    62220发布于 2021-05-28
  • 来自专栏强仔仔

    8大坑】重构springboot踩坑记录手册

    blog.csdn.net/linzhiqiang0316/article/details/80946797 今天本来想和大家说一下spring中bean的创建过程和生命周期的,可是因为项目重构过程中遇到好多的问题 坑8:各个项目之间的依赖写错,导致循环依赖。 解决办法:将maven项目进行层级依赖,将关系写明白。 ? 其它更多的坑。。。。。。。。未完待续

    1.4K40发布于 2019-05-26
  • 来自专栏深度学习与python

    AI 时代操作系统的三重叙事:技术重构国产化突围与生态共建

    1 AI 时代操作系统的重构与考验 操作系统的本质,始终是 “向下管理硬件资源,向上为用户和应用提供开发与运行保障”。 周明辉将其概括为 “改良与革命并存”:一条是基于传统架构进行 AI 适配优化,另一条是重构全新架构,让 AI 成为操作系统的核心。 “传统操作系统模型确实不适合 AI 场景,未来可能基于 GPU 核心重构体系,甚至用 Rust 语言重写内核。” 3 国产化突围与生态共建:从 “跟跑” 到 “生态位跃升” 除了 AI 浪潮,“国产化”则是操作系统演进过程中的又一重要趋势。 但他同时强调,国产化绝非简单的 “替代”,而是 “立足全球化,向生态位高位攀升”。 “软件是全球化市场,国产化不能关起门来做。”

    59810编辑于 2025-08-15
  • 来自专栏腾讯云数据库(TencentDB)

    腾云悦智 x 腾讯云:从“技术代差”到“效能标杆”​,重构国产化技术规则

    技术痛点 数据库国产化替代是企业数字化转型的核心环节。在支持客户落地这一进程中,企业面临以下关键挑战: 1. 技术路线决策困难 客户在分布式/集中式架构、开源/闭源数据库选择上存在顾虑。 技术团队能力断层 国产数据库的部署、调优、包括容灾备份等环节要求重构技术栈知识体系。亟需结合客户场景提供精细化配置与深度技术支持。 3. 一、专业人员体系实现质变:在国产化替代领域,形成了经验丰富的专业团队; 二、服务流程的数字化重构:通过多个典型项目的交付经验,实现了服务能力和交付能力的全面提升; 三、在腾讯生态共创的战略格局下,形成了行业标杆的打造能力 这些突破意味着悦智作为腾讯的战略合作伙伴,正在用“咨询+产品+运维”的服务模式,重新定义国产化替代的游戏规则,为下一个十年的产业升级储备势能。 在一次国产化替换项目的PoC过程中,设有功能测试和性能测试两个环节,且需要跟友商进行PK。在功能测试用例方面,几乎所有数据库供应商都是满分。

    80310编辑于 2025-08-15
  • 来自专栏技术之路

    重构学习-重构原则

    什么是重构: 视上下文重构有两个不同的定义,第一个定义是名词形式 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 重构的另一人用法是动词形式 使用一系列的重构手法 强调一下,重构不会改变软件的可观察行为,也就是说重构之后功能和原来一样。 为什么要重构重构改进软件设计,如果没有重构,程序的设计会逐渐腐败变质。 重构的原动力是:代码设计无法帮助我轻松的添加我所需要的功能,如果用某种设计方式,添加功能会简单的多,这种情况可以用 重构来弥补。重构是一个快速流畅的过程,一旦完成重构,新特性的添加会更快速,更流畅。 如果在修改bug和审查代码时发现不合理的地方也要进行重构,这样是为了更好的阅读和理解代码 何时不重构: 如果发现代码太混乱,重构它不如重写来的简单这种情况下建议重写,不用进行重构。 最后你没有时间进行重构表明你其实早就该进行重构重构与性能: 有时为了让代码更容易理解,会做出一些使程序运行变慢的修改,这是个重要的问题。

    1.3K50发布于 2018-01-31
  • 来自专栏学习猿地

    Web前端学习 第2章 网页重构8 网页结构

    DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-<em>8</em>"> 5 <title>Document</title > 6 </head> 7 <body> 8

    水果列表

    9
      10
    • 香蕉
    • 11 转换成树状结构如下所示,这里不考虑文档声明标签: ├─html │ ├─lang="en" │ ├─head │ │ ├─meta │ │ │ └─charset="UTF-8" 我们将会在第10节完成此设计稿的重构

    64010发布于 2020-06-15
  • 来自专栏韩曙亮的移动开发专栏

    重构重构概要--六大重构模块

    重构方法介绍: 重构改善既有代码的设计 一 重新组织函数 关于注释 :要尽可能少的使用注释 , 注释越多代码的可读性反而更差,注释可以使用函数名来代替 , 不要管函数名有多长, 即使函数名比函数中的代码还要长也不要紧 能更加明确的表明函数的意义,可以将这个算法替换; 二 在对象之间搬移特性 功能模块归属类:对象设计中, 将一个功能模块放在哪个类中,是最重要的任务之一,谁也不能一开始保证设计的是完全合适的,这就需要“对象之间搬移特性”这个重构方法 搬移函数和搬移字段:这两种重构方法都可以解决大多数的问题,如果两种方法同时使用,先搬移字段,在搬移函数。

    97030编辑于 2023-03-27
  • 朝歌智慧&盘古信息:以IMS MOM V6重构国产化智能终端新生态

    ”),以IMS MOM V6为核心,导入WMS、MES、QCS、EAM、SUP、BI、OS等全栈式数字化管理模块,旨在实现生产数据实时化、运营管理高效化,重构国产化智能终端领域的数字化制造新生态。 通过以“国产化技术+鸿蒙生态”等技术为引擎驱动,其在智能终端与行业解决方案领域成功实现核心技术自主可控。 解决方案:通过IMS MOM V6的功能组件灵活组合,实现生产流程快速重构,缩短产品换型时间,满足小批量、多批次生产的柔性化需求。 —重塑行业生态的示范价值—此次合作不仅是朝歌智慧打造“华为五星工厂”的关键一步,更标志着国产化智能终端领域数字化转型进入新阶段。 通过盘古信息IMS MOM V6系统的深度赋能,朝歌智慧将打造成为华为生态内国产化智能终端数字化标杆,为行业提供可复制的转型路径。

    38600编辑于 2025-07-22
  • 来自专栏编码如写诗

    【信创-k8s】国产化银河麒麟V11离线部署k8s1.33.6+KubeSphere

    本文演示以Kylin V11刚装完系统环境下,使用几条简单的命令部署3 master的k8s 1.33.6+ks3.4.1若有其他需要可添加我微信好友sd_zdhr。 PS:k8s1.33.6要求内核最低4.19且cgroup v2支持需要内核5.8+。所以,该版本不能直接部署于麒麟V10、centos7、rocky linux 8等。 二开主要为适配信创国产化环境、简化arm部署过程和国产化环境离线部署。支持arm64和amd64架构国产操作系统,已适配芯片+操作系统 如下。 2核8G 192.168.85.155 master3 x86_64 Kylin V11 2核8G 192.168.85.156 2.1 上传离线制品 将离线制品、配置文件、kt和sh脚本上传至服务器其中一个节点 /create_project_harbor.sh 4 创建k8s和KubeSphere .

    70710编辑于 2025-11-29
  • 来自专栏Keegan小钢

    AI+Web3实战营日志 #8 | 重构ETFRouterV1

    在此过程中,我们发现铸造函数的实现流程存在设计缺陷,并据此对整个铸造路径进行了重构。本文主要分享这次重构的思考与结果。 重构前的铸造流程 重构前仅有一个铸造函数 mintWithUSDT,支持用户用 USDT 一键申购 ETF 份额。 重构 mintWithUSDT(金额驱动的简化版) 在完成 mintExactShares / usdtNeededForShares 后,我们也重构了 mintWithUSDT 及其配套只读函数,使其计算路径更直接 小结与价格调整 到目前为止,我们已经累计投入 28 小时,产出了 19 个录播视频,完成了从 核心合约开发 → 测试 → 重构优化 的完整闭环。

    12710编辑于 2025-11-12
  • 来自专栏编码如写诗

    【k8s】国产化arm架构离线环境三条命令部署k8s1.32.7+ks3.4.1

    本文演示在 鲲鹏+欧拉 上使用kt离线部署一主一从的k8s1.32.7+ks3.4.1(离线包为全量包)。 1.说明 关于kt kt是基于kk二次开发的产物,具备kk的所有功能。 二开主要为适配信创国产化环境、简化arm部署过程和国产化环境离线部署。支持arm64和amd64架构国产操作系统,已适配芯片+操作系统 如上。 支持开启防火墙,只暴露30000-32767端口,其他k8s端口添加到节点白名单。 ./kt firewall 一条命令自动获取节点信息开白名单和防火墙。 服务器基本信息 主机名 架构 OS 配置 IP master arm64 openEuler 22.03 4核16G 192.168.0.58 node1 arm64 openEuler 22.03 8核 /create_project_harbor.sh 4 创建k8s和KubeSphere .

    84210编辑于 2025-08-12
  • 来自专栏爱编码

    重构

    个人觉得代码重构非常有必要,写程序不但要给机器运行,更让人看的明白。 写代码如写诗一样才行。(内容代码为主,建议实践一下比较好点) 实例 一个图书馆出租书的程序。 Book book2 = new Book("golang入门到放弃", Book.REGULAR); customer.addRental(new Rental(book,8) 接着:直接看下面的代码重构呗 Book类: 将按照书的不同类型,按照不同价格统计的方法移动到Book类中,因为这个按理应该属于Book类中的。 第二次重构 经过第一次重构,还是没有实现需求修改增加多个分类的效果。那么接下来使用接口抽象来再次重构。 参考文章 【重构】作者: Martin Fowler

    1.1K10发布于 2019-07-03
  • 来自专栏青玉伏案

    代码重构(三):数据重构规则

    在《代码重构(一):函数重构规则(Swift版)》和《代码重构(二):类重构规则(Swift版)》中详细的介绍了函数与类的重构规则。 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 } 11 12 // 3.141592654 * height 3 } 4 5 //替换 6 let PI = 3.141592654 7 func test1(height: Double) -> Double { 8 self.name = name 7 } 8 } 9 10 //重构后 11 class Person { 12 private var name: String = "" 13 》")) 5 books.append(LibraryBook(name: "《格林童话》")) 6 books.append(LibraryBook(name: "《智慧意林》")) 7 8

    1.5K60发布于 2018-01-11
领券