//do something
//do something
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
800+累计阅读
867平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄15年
重构-改善既有代码的设计
当前文章被以下社区和专栏收录:
spring-ai学习(四)-MCP
创建一个springai项目1.依赖。
基于agency-agents构建多智能体协作系统:从原理到实践
如果你正在寻找一个能真正理解你意图、自主完成任务,而不仅仅是机械执行命令的AI助手,那么你很可能已经接触过“AI Agent”这个概念。但现实往往是:演示视频里Agent行云流水,自己上手却要么卡在环境配置,要么困于复杂的API调用,最终那个“智能体”更像一个需要步步指导的“提线木偶”。 今天要深入探讨的 agency-agents 项目,或许能改变这种局面。它不是一个全新的底层框架,而是一个基于成熟开源项目 agency 构建的、 开箱即用 的AI Agent集合。它的核心价值在于: 将Agent从“概念
积木报表导出数据量太大报错
性能问题:当数据量非常大时,积木报表在导出过程中可能会遇到性能瓶颈,导致导出过程缓慢甚至失败。解决这一问题的方法包括优化SQL查询、调整分页大小、使用更适合处理大量数据的库(如阿里巴巴的EasyExcel)进行导出,或者采用异步处理的方式来避免接口超时1。内存溢出:如果报表工具或其依赖的库不支持流式(分批)导出,大量数据的处理可能会导致内存溢出。数据处理方式:如果待导出的数据包含特殊字符,如英文双引号或等号,这可能导致JSON反序列化报错。
重新组织你的函数之五 :Introduce Explaining Variable(引入解释性变量)
你有一个复杂的表达式。 将该表达式(或其中一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途。 if ( (platform.toUpperCase().indexOf("MAC") > -1) && (browser.toUpperCase().indexOf("IE") > -1) && wasInitialized() && resize >
微信小程序导航栏滑动一定距离后固定到顶部
接上一篇文章的内容,通常在一个页面中部会有一个导航栏查看不同的内容,这篇文章旨在实现在页面下滑的过程中导航栏自动固定到顶部以便我们阅读过程中的切换。 下滑一段距离后自动固定到顶部 首先,思考这个功能应该是怎么实现的: 在页面下滑的过程中,我们希望系统应当能识别下滑了多少距离,当原本的导航栏逐渐被遮住以后(遮住意味着下滑了特定距离),触发这个功能,执行另一种样式,将导航栏固定在页面顶端,同时如果我们将页面往上滑,系统能识别到原来的导航栏能露出来了(即距离顶端的高度小于一个特定的值),这时候又执行最初的样式
Seedance 2.5本地部署指南:AI生图与视频生成的完整实践
最近在AI生成内容领域,本地部署方案越来越受到开发者关注。特别是Seedance 2.5的发布,让很多原本依赖云端服务的用户开始转向本地化解决方案。本文将从实际使用角度出发,完整介绍Seedance 2.5的本地部署流程、功能特性对比以及实际应用技巧。 1. Seedance 2.5核心特性解析 1.1 什么是Seedance 2.5 Seedance 2.5是一款开源的AI生图和视频生成工具,支持在本地环境运行,无需联网即可实现高质量的图像和视频生成。相比之前的2.0版本,2.5在生成质量、运行效率和功能
重构:重新组织函数(《重构:改善既有代码的设计》第六章笔记)
一、Extract Method(提炼函数) 如果你有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 做法: 创造一个新函数,根据这个函数的意图来给它命名(以它「做什么」来命名, 而不是以它「怎样做」命名)。 将提炼出的代码从源函数(source)拷贝到新建的目标函数(target)中。 仔细检查提炼出的代码,看看其中是否引用了「作用域...
利用python语言进行相机标定
利用python语言进行相机标定 目录利用python语言进行相机标定一、相机标定相关原理1.相机标定简介2.坐标映射2.1图像坐标系1)图像坐标系(Pixel coordinate system)2)成像平面坐标系(Retinal coordinate system)3)摄像机坐标系(Camera coordinate system)4)世界坐标系(World coordinate system)二、相机标定算法流程1.镜头畸变1.1径向畸变1.2切向畸变2.相机标定算法求解外参内参和单应矩阵关系求解(张
SIwave学习记录:电热耦合仿真
SIwave电热耦合仿真
Synares病毒实战:如何从U盘感染中恢复你的Excel和EXE文件(附专杀工具推荐)
本文详细介绍了Synares感染型病毒的典型特征与传播机制,特别是其通过U盘感染Excel和EXE文件的行为。文章提供了一套从应急隔离、诊断到使用专杀工具进行深度清除与文件恢复的完整实战流程,并推荐了有效的安全软件和修复方法,旨在帮助用户最大程度救回重要数据并构建长效安全防护习惯。
2、重新组织函数
1、Extract Method(提炼函数) 1、无局部变量 2、有局部变量 1、被提炼代码段只是读取变量的值,并不修改他们。 简单传给目标函数 2、被提炼代码段对局部变量再赋值 1、如果发现源函数的参数被赋值,使用Remove Assignments to Para
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
点击下图,可以看大图。 介绍 我把我比较喜欢的和比较关注的地方写下来和大家分享。上次我写了篇《php 跟老大的对话》。还是有很多疑问,这书帮了我不少的忙。 如果你比较繁忙,或者懒得看文字,建议你直接看截图,也会有很大的收获的。你可以通过比较截图中的代码就能知道孰优孰劣了。 代码部分我为什么用图呢?因为我经常用手机看代码,博客园的代码在手机里乱七八糟的,...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
重构-改善既有代码的设计总结
<br />随着项目的进展,我们会发现已经完成的代码结构不再象我们预想的那么清晰合理,这大多是由于需求的变更造成的。此时我们需要改善目前的代码,有两种方法,一种是重写,另一种是重构。重写的好处是明显的,结构必然更合理,但是问题在于浪费时间。重构是一个折中的方法,时间始终,调整后结构也变得更合理。一般情况下,当我们对已有代码修改超过三次时就需要重构。<br />重构的基本原则是步步为营,每次进行一小步,然后测试,周而复始。另一个原则是抵制诱惑,不要改变代码的外在表现,不要试图修正代码中的Bug。下面是具体的重
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
重构改善既有代码的设计
构筑测试体系重构+测试 密不可分自测试代码的价值Q:程序员时间耗费在哪里? 调试Q:类应该包含他们自己的测试代码吗? 在自动化无法进行覆盖的同时需要有代码测试机制Q:继承和多态会让测试变的比较困难,是否还需要继续? “花合理的时间抓出大多数bug”好过“穷尽一生抓出所有bug”重构列表重构的记录格式E:重构手法都有五个部分:名称(重构词汇表)、简短概要、动机、做法、范例这些重构手法有多...
Anthropic语义压缩层归零:LLM确定性范式的工程实践
大语言模型的‘推理过程可见性’与‘输出结果确定性’长期存在根本张力。随着形式化验证、逻辑门控、命题化表征等技术落地,以Anthropic为代表的新一代模型正将不可控的中间态生成,转向受约束的终局答案交付。这种转变本质上是将模型从‘概率采样器’重构为‘轻量级逻辑验证器’,其核心价值在于提升事实一致性、降低幻觉风险、满足AI合规审计要求。典型应用场景包括结构化信息抽取、金融合同审核、医疗术语标准化、法律条文溯源等对结果可验证性要求严苛的任务。本文深入解析该架构变更的技术本质——并非性能衰减,而是语义过滤机制的强
基于大模型的idea提炼:从ResearchAgent,到斯坦福的AI-Researcher、上海AI实验室的VIRSCI
对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包含完整的链路 由于论文项目组已壮大到18人,故目前在并行多个事,且我也针对idea提炼做一下技术探索
05 claude code 提示词如何构建
所有模板均支持通过无硬性长度限制:提示词不规定压缩比例(如50%),仅要求信息完整性。双重防呆机制:Preamble 和 Trailer 双重禁止工具调用,确保压缩任务原子性。结构化输出:强制使用<analysis>和<summary>标签,便于后处理和审计。场景化区分:BASE(全量)、PARTIAL(局部)、UP_TO(前瞻)三种模板应对不同压缩需求。
重新组织函数----Extra Method(提炼函数)
你有一段代码可以被组织在一起并独立出来 讲这段代码放在一个独立函数中,并让函数名称解释该函数的用途 范例:无局部变量 void printOwing(double amount){ printBanner(); //printDetail System.out.println("name:"+_name); System.out.println("amount:"+amount);
在对象之间搬移特性---Hide Delegate(隐藏委托关系)
客户通过一个委托类来调用另一个对象。 在服务类上建立客户所需的所有函数,用以隐藏委托关系。 动机: 封装即使不是对象的最关机特性,也是最关机特性之一。“封装”意味着每个对象都应该少了解系统的其他部分。如此以来,一旦发生变化,需要了解这一变化的就比较少---这会使系统比较容易进行。 任何学过对象技术的人都知道:虽然Java将字段声明为public,但你还是应该隐藏对象的字段。
在对象之间搬移特性---搬移函数
你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用后者,或被后者调用 在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数。 ,或是将旧函数完全移除。
重新组织函数--Substitute Algorithm(替换算法)
你想要把某一个算法替换为另一个更清晰的算法。 将函数本体替换为另一个算法。
重新组织函数--以查询取代临时变量(Replace Temp with Query)
你的程序以一个临时变量保存某一表达式的运算结果 将这个表达式提炼到一个独立函数中。将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可以被其他函数使用。 double basePrice=_quantity*_itemPrice; if(basePrice>1000){ return basePrice*0.95; else return basePrice*0.
重新组织函数--Split Temporary Variable(分解临时变量)
你的程序有某个临时变量被赋值超过一次,它既不是循环变量,也不是被用于收集计算结果。 针对每次赋值,创建一个独立、对应的临时变量。
重新组织函数--Replace Method with Method Object(以函数对象取代函数)
你有一个大型函数,其中对局部变量的使用使你无法采用Extra Method() 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的字段。然后你可以在同一个对象中将这个大型函数分解为多个小型函数。 Class Order... double price(){ double primaryBasePrice; double secondaryBasePrice; doub
4032
2336
716

被折叠的 条评论
为什么被折叠?



