MTSC2025 第十四届中国互联网测试开发大会(上海站):AI赋能代码质量提升-AI编码及全流程智能代码审核_第1页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI赋能代码质量提升-AI编码及全流程智能代码审核_第2页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI赋能代码质量提升-AI编码及全流程智能代码审核_第3页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI赋能代码质量提升-AI编码及全流程智能代码审核_第4页
MTSC2025 第十四届中国互联网测试开发大会(上海站):AI赋能代码质量提升-AI编码及全流程智能代码审核_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MTSC

2025中国互联网测试开发大会TESTINGSUMMITCONFERENCECHINA2025质

效革新

·智领未来2025/7/121

上海喜来登由由大酒店

主办方:

TesterHeme上海站AI赋能代码质量提升——AI

编码及全流程智能代码审核杨晓光质效革新

·

智领未来

主办方:TesterHeme中国互联网测试开发大会园TESTINGSUMMIT

CONFERENCE

CHINA2025

站MTSC

2025整体应用场景研发阶段IDE

Al编码助手质效革新

·

智领未来提测merge

requesteventsAl增量代码审核合入k8s测试环境日志采集日志+代码

Al

联合排障线上代码问题模块

Al问诊MTSC2025中国互联网测试开发大会主办方:TesterHeme集成阶段测试阶段上

站Part

1Al编码助手MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme上

站CodeBuddy[腾讯云]免费Al编码主要应用工具Cursor20美元/人/月Copilot10美元/人/月MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme上

站raft

Code

Review共找到2个代码问题为所选的代码生成单元测试CodeBuddyDetail.vue

news-app/sLine:138-146当前AP

调用使用硬编码的URLviews建议将API以下是为corvert.py

生成的单元测Python/项基础路径抽取为常亮或配置项,便于后期维护

和修改名称Line:149

顺要on报交

论成地期直措演用

feschcDTnei0腾讯云代码助手简介工程理解智能体

Plus@Codebase,AI

辅助理解项目工程,提供精准的代码建议和解决方案代码补全

Plus基于上下文理解以及编辑行为,预测下一个改动点,同时给出相应推荐,提升编码效率1

1/

创建

scfctientconst

scf=new

tencentcloud.scf.v2023.client(credential:fsecretId,ecretKeyCodeBuddy上述代码是一个

p分,这个文件通常npm

或yarn

安装依lockjson文件的目的看起来这里面的文好、我们可以从头智能问答基于海量技术文档进行训练,支持团队自定义知识库管理和模型切换MTSC2025中国互联网测试开发大会TESTING

SUMMIT

cONFERENCE

CHINA

2025单元测试自动解析代码上下文,精准识别依赖关系,并注入Mock数据,显著提升单测有效性及覆盖率质效革新

·

智领未来主办方:TesterHeme代码评审支持代码批量评审commitmessage前codebase

分析当前代码上海站生成解释代码|代码修复|生成文档|生成测试|代码评审|关闭

方法级快捷操作"""使用

grep

查找包含目标方法的

Go

"

”try:result=

subprocess.run("grep","-E",#启用扩展正则表达式"-ril",#-rilE:r递归搜索,-i

忽略大小写,

-1只输出文件名(忽略:后面的匹配rf"func\s+

{self.interface}

\(",

#

匹配1个或多个空格self.local_dir],capture_output=True,text=True,check=True)files

=result.stdout.strip().split("\n")return

[fforfinfiles

iff.endswith(".go")]exceptsubprocess.CalledProcessError:return

[]

结合注释自动补全代码#解析

Go

文件,提取目标函数的完整方法体""“解析

Go文件,提取目标函数的完整方法体””“try:with

open(file_path,“r”,encoding="utf-8")as

f:Lines

=f.readlines()Al编码应用案例文件E编辑(旧选择(S查看V)转到(G

运行(B终端①

帮助H←

→腾讯云A¹代码助手对话

试info.txt

search_method_in_repo.py9+,M×对话

评审

script>search_method

in

repo.py>4LogAnalyzerPSE:\GitProject\CI_Script>search_method_inp

apy

当前文件分会话支持引用项目/文档/文件扩展知识库及上下文@智能体

tencentdeepseek-r1package/interface,避免参数传递3.方法整合:将原有函数重构为类方法,优化方法命名和访问

权限

(私有方法用_前缀)4.代码精简:合并重复逻辑,使用海象运算符等Python特性简

化代码5.路径处理优化:修复原代码中字符串格式化问题,使用f-

sting6.流程控制:将主流程整合到analyze方法,保持业务逻辑连

贯性代码通过类封装实现了更好的模块化,后续可以方便地扩展Python

Apply…

-1rbreak

#找到第一个有效结果即停止print(f"Notfoundin

[file}")四MTSC2025

c2025会def

extract_function_from

file(self,file

path):Alt+I

生成代码,ctrl+I

打开对话8889输出调试控制台终端端口

GITLENS质效革新

·

智领未来主办方:TesterHeme656667686970717273747576777879808182838485868764

subprocess.run(["git","pull"],check=True,cwd=self.local_dir)置和业务逻辑封装到LogAnalyzer类中例变量存储当前处理的der

grep_method_in_repo(seif):1.类封装:将全局2.状态管理:使用实当前项目选择知识库

选择单文件上海站342343344345346347348349350351352353354355356357358359<divclassName={classNames(styles.rankcol,styles.rankCount)}>

I

itve)m.accept_co

unt}<div

className={classNames(styles.rankCol,styles.rankRate)}>{item.accept_rate}</div></div></div></div></div>:(<divclassName={styles.emptyBox}><divclassName={styles.empty}></div><divclassName={styles.word}>暂无排行榜数据</div></div>return<div

className={styles.container<Topselectcalendarselect=searchword={searchword}问题

输出

调试控制台

终端E:\projects\testdev\feedbackplat>gitpushCountingobjects:40,done.Delta

compressionusing

up

to20threads.Compressingobjects:108%(37/37),done.Mritingobjects:100%(40/48),11.50KiB|356.00KiB/s,done.Total

40(delta

28),reused

e(delta)remote:

::To

a:

i

k

r

y

e

i

:uests/new?merge

request%5Bsource_branch%5D=TASK-194234remote:To:activity/feedbackplat.git73801e7..35b7997

TASK-194234->TASK-194234qtesrimerge4234,vt/9a1dbackpTASKfeor/fvitstacquerneugugometapehttcreettremoremoAl编码应用案例

MTSC2025张拳22100.0%杨曼张拳1黄映芬4250.0%11100.0%11100.0%李阳杰100.0%我明白了,需要修改排行榜的展示样式,将其改为一个整体的卡片,而不是每条数据都是独立的卡片。我需要:1.修改RankingList组件的结构,将所有数据放在一个卡片内2.调整相应的样式,确保表头和数据行的样式正确3.保持数据展示的清晰和美观让我修改FeedbackDashboardjs中

的RankingList组件。△不安全

05:4430/#/workOrderQywxDash?opPerson=dylanzhang

□private

M

MTP-敏捷产品研…

□sentry

集团基建尺寸:iPhone

XR414

×89692%

已停用节流模式callback排行榜使用了与现有反馈列表相同的卡片式布局,保持了整体UI的

。edbackplat\srcviewslworkOrderlfeedbackDashboard\FeedbackDashboardjs√

2个文件

全部接受JS

FeedbackDashboardjs9

FeedbackDashboardmodulescss

·@is

FeedbackDashboardis×

引用源码

请输入你的任务24h

7天

自定义苗

Q

索个人反馈

整体反馈排行榜反馈人反馈数采纳数采纳率SrC>views>workorder>feedbackDashboard>JS

FeedbackDashboardjs>

[constFeedbackDashboard=()=>{298

constRankingList=()=>

{{rankData.map((item,index)=>(3.完成H5

页面改造(增加排行榜tab

页)排行榜和列表不一样,整体展示为一个卡片,而不是分卡片展示中国互联网测试开发大会TESTING

SUMMIT

cONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHeme间

FeedbackDashboard>

回RankingList>

rankData.mapo2.Al批量修改代码<1>src/viewslworkOrder/feedbackDashboard.

…+30

-28

√JS

FeedbackDashboardjs

8

FeedbackDashboard.module.scss

M

JS

FeedbackDashboardjs:变更前

变更后(Editable)M1.描述需求上海站>24pCodeBuddy全部拒绝如何让AI更懂业务?MTSC2025中国互联网测试开发大会基础开发20%日常开发工作量占比业务开发80%质效革新

·

智领未来主办方:TesterHeme上

站MCPServer「智能厨房管家」“做一份番茄炒蛋,少放盐”理解需求

拆解步骤,切番茄、炒鸡蛋协调工具

指挥炒锅、计时器协作记住习惯

知道上次说的少放盐是指放3克主办方:TesterHemeMCP

Server

-AI模型的业务助理Model

Context

Protocol便于将各种数据源/工具/功能连接到AI模型DataSourcesIIIII

CapabilitiesTools

Resources

Prompts质效革新

·

智领未来MTSC2025中国互联网测试开发大会Q:Server上

站田田

●To

ClientMCP

接口协议检索

埋点代码生成

测试环境造数接口协议记不住?大量埋点参数易出错?造数成本过高?基于MCP

Server的能力拓展MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHemeMCP应用场景上

站应用场景1—接口协议检索及代码补全IDECraft会话用户问题MCPServer分词处理复用向量化器生成问题向量与知识库矩阵相似度计算相似度Top结果代码推荐及补全MTSC2025中国互联网测试开发大会TESTING

SUMMIT

cONFERENCE

CHINA

2025离线预处理知识库YAPI平台接口信息文本接口特征中文分词TF-IDF向量化器生成接口知识库TF-IDF矩阵质效革新

·

智领未来主办方:TesterHeme上海站应用场景1—接口协议检索及代码补全

文件(F)

编辑(E)

选择(S)

查看(V)

转到(G)

运行(R)

终端(T)

帮助(H)

9ksgroupactivity

serice

D

□CODEBUDDY

J

cycleBoardeventListenerjava

1,MJ

cycleBoardEventListenerjava:

变更前一变更后(Editable)1.M×

D∨

□Craft

Chat

Code

Review

5Tc>main>java>com>kugou>fanxing>kgroup>activity>serice>event>JcydleBoardEventListeneJjava>(comkugoufanxingfxgroupativityservice.event调用“鱼声接口“获取近30天的贡献榜,当top10

用190

190大NA2会0255开NCE0E试RE2U联MM网TcO测NFSC中TES国TINMint

roomId

=event.getconsumeMsgDto

()

getRoomId

();long

tokgId=event.getConsumeMsgDto()

.getRealToKugouId();/

/

案String

text=String.format(format:“%s用户为%s主播点亮了%s礼物”,

userNcom.kugou.fanxing.fxgroup.activity.service.pojo.dto.msg.CommonMsgDat.typ

e(2)//

体type

可根据业务调整.text(text).bizId(20001).build();//发送房间公告

3.

结合接口协议及代码上下文补全代码commonMsgService.sendRoomCommonRoomMsg(roomId,msg);//新增:检查主播本月星榜任务完成情况try//调用鱼声接口获取30天贡献榜top10Stringurl="https://api.fanxing.com//kugroup/multiparty/partys

Map<string,Object>params=newjava.util.HashMap<>();params.put(key:"roomId",

roomId);params.put(key:"pageIndex",value:1

);params.put(key:"pagesize",value:10);/

/

使

用RestTemplate调用接口org.springframework.web.client.RestTemplate

restTemplate

=newjava.util.Map<String,object>response=restTemplate.getForobjeurl+"?roomId={roomId}&pageIndex={pageIndex}&pagesize={pagejava.util.Map.class,params);int

roomId

=event.getconsumeMsgDto().getilong

tokgId=event.getconsumeMsgDto()

ge//构造文案string

text=string.format("%s用户为%s

主播com.kugou.fanxing.fxgroup.activity.servic.type(2)

11具

体type可根据业务调整.text(text).bizId(20001).build

();11

发送房间公告commonMsgService.sendRoomCommonRoomMsg

(rocServet搜索接口协议户的贡献星币数超过10000时,发送房间公告,公告内容为“主播完成本月星榜任务”CodeBuddy1.首先需要理解当前代码的功能:

notifyFirstSend

方法目前是在主播首次收到某个礼物时发送房间公告2.任务要求新增逻辑:调用鱼声接口获取近30天贡献榜,检查

top10用户的贡献星币是否超过10000,如果是则发送另一个公告3.需要确认:鱼声接口的具体调用方式(接口URL、参数、返回值格式)贡献榜数据的处理逻辑新公告的发送方式(是否复用现有

commonMsgService)4.从系统信息中看到已连接“鱼声接口知识库MCPserver,

以使用其search_interface

工具查询相关接口信息5.修改步骤:if(response!=null&&“0”.equals(response.get(key:"code"))){java.util.Map<String,Object>data

=(java.util.Map<String,java.util.List<java.util.Map<String,object>>rankList=

(ja//

.计算top10

用户总星币数inttotalcoin=rankList.stream()

if(

I

imp!

n{fo.

getName();

if(si

f

mple!

)fo

.getName();改造notify一段iftInnullsiogiftNamempleGift981818I)leGift=

nullsogiftNamesimpleGift189188新增并d方代First引>Called

MCP鱼声接口知识库MCPserver

(search_int◎1.根据接口查询结果,我们找到了获取30天贡献榜的接口:接口URLdinhmhicanien'191192193194195196197198199200201202+203+204+205+206+207+210+··质效革新

·

智领未来主办方:TesterHeme然

notifyFirstSend

方法,添加新逻辑需要确保新逻辑不影响原有功能191192193194195196197198199200201221+

222+223+225+2.

自动调用MCP首先查询鱼声接口知识库获取贡献榜接口信息上海站拒绝出

下····

·常1个文件Pfxgroup_activityservice

口日□J

cycleBoardeventListenerjava

1.M

JeventTracker.java2,U

×JSservice.js

tonytestpy9+{}

Craft_mcp_settings.jsonSFC>main

group>activity>service>event>JeventTrackerjava>4sEventTracker3.生成模版代码

namesuffix

无结果packagecom.kugou.fanxing.fxgroup.activity.service.event;3

public

class

EventTracker

{45

*需求:【锁屏歌词页】支持自定义样式-

Android6

*产品:吴鸿琦Bi:tracywu(

鸿

)8

*/91011

*目的:统计锁屏装扮页点击数据情况12

*锁屏装扮页点击时上报13

*svar1上报:锁屏样式、立即查看、立即使用(自定义图片最后点完成时也需要上报)、锁屏子样式14

*svar2

上报点击的样式名称15

*若svar2=祈福祝愿或svar1=

锁屏子样式时,

ivar1上报选择的子样式1617

public

final

static

Function

BI_128529_cLICK

=

new

Function(128529,“锁屏歌词页”,“点击","锁屏装181920

*目的:统计锁屏歌词页的点击数据情况21

【20250331新增】22svar1新增:横屏、装扮、底部会员条

232425

*【20240718新增】26

*svar1新增:点击专辑图,点击写真图,点击歌词,滑动歌词2728

*锁屏点击时上报29

*svar1上报点击的按钮:直播、关闭直播、K

歌、播放模式、上一首、播放暂停、下一首、收藏、滑动解锁30

*svar2

上报部分按钮的多种状态,

31*播放模式:上报切换到的对应模式32

*

藏or

取消收藏33

*scid_albumid

上报当前歌曲mixsongid3435

publicfinal

staticFunctionBI_

125826_CLICK

=newFunction(125826,“锁屏歌词页",“点击”,“锁屏歌

36371.发现eventTrackerjava文件当前为空,这是一个新文件2.

需要创建一个完整的Java

类文件,包含包声明、类定义和生成的埋点代码3.根据路径”sr

c/main/java/com/ku

gou/fanxing/fx

group/activity/service/event/event

Trackerjava",

可以确定包名为"com.kugou.fanxing.fxgroup.activity.service.event"4.

类名应为EventTracker(

循Java

命名规范,首字母大写)√

1个文件J

eventTrackerjava

已接受@JeventTrackerjava×请输入你的任务default

MCPCodeBuddy1.首先需要理解任务需求:用户要求在eventTrakerjava

文件中增加埋点文档13980的模板代码2.

根据MCP服务器信息,有一个名为“查询埋点信息生成模版代码”的服务器,其中包含一个工具"generate-bi-code-from-id",可以通过文档docld获取埋点数据并生成Java模板代码3.需要先确认eventrackerjava文件是否存在以及当前内容,以便确定如何插入生成的模板代码2.

用MCP

Ser

ver查

代码,然后再修改eventTrackerjava文件

-

二>CalledMCP查询埋点信息生成模版代码(generate-bi-code-from-id)◎应用场景2—

埋点平台打通及模版代码生成>a

值:128功能操作目出l马*

归唇埋点1.成功获取了埋点文档13980的模板代码,现在需要将这些代码添加到eventTrackerjava文件中2.首先需要确认eventTrackerjava文件的当前内容,以确定如何插入新代码3.根据模板代码风格,这些是静态常量定义,应该放在类的合适位置4.

需要检查文件是否存在以及当前内容结构,以便决定最佳插入位置MTSC2025中国互联网测试开发大会TESTING

SUMMIT

cONFERENCE

CHINA

2025导出埋点全部展开全部收起保存文

件(F)

编辑(旧)

择(S)

查看(V)

转到(G)

运行(R)

终端(T)CODEBUDDYCraft

Chat<1)src/main/java/com/kugou/fanxing/fxgroup/activity/service/event/eventTrackerjava已读取质效革新

·

智领未来主办方:TesterHeme1.提供埋点文档id,要求生成代码增加埋点文档13980的模版代码上海站⑧

说引用文件

B

userid

listbt描述需求

将这批fanxing

用户的VIP等级批量更新为10CodeBuddyi1.任务分析:需要批量更新fanxing

测试环境中的用户VIP等级为102.已有信息:·

更新后的用户ID列表文件:userid_list.txt(现在包含10个用户ID)·

目标VIP等级:103.

可用工具:fanxing测试环境造数工具中的batch_update_user_vip_level工具4.操作步骤:·

首先需要读取userid_istxt

文件获取最新的用户ID列表●

然后使用batch_update_user_vip_Jlevel工具批量更新VIP等级<1)userid

listxt

读取解析文件1.已成功读取userid_list.txt文件内容2.文件内容现在包含10个用户ID,

每行一个13.需要将这些用户ID转换为数组格式,作为batch_update_user_vip_level工具的输入i4.目

标VIP等级仍为10·5.确认工具可以处理10个用户的批量更新

调用MCP

Server批量造数390888:Called

MCP

fanxing测试环境造数工具(batchupdateuser_viplevel◎3908883339088834·1.确认工具调用成功,所有10个用户的VIP等级已更新为10扌2.操作结果符合预期,没有错误或警告390888373.任务已完成,可以展示最终结果39088839已成功批量更新10个fanxing用户的VIP等级为10级:输入关键字,按下回车搜索我的

所有

用户资产

账号相关

会员

主播相关

礼物相关

真唱使用次数(6292次)平台id(1:

2:

3:

)

+

狗ID+

修改星币/唱币值(逗号分隔)使用次数(1238次)设置账号风控风险使用次数(1199次)输

入kugouid使用次数(984次)输

入url或

数应用场景3—

测试环境造数原造数方式(工具+SQL)MTSC2025中国互联网测试开发大会SUMMiTcONFERENCE

CHINA

2025现造数方式(一句话)质效革新

·

智领未来主办方:TesterHeme$_fan_xing_s接口生成

加密后的sign参数②上海站3908883539088836添加星币或唱币②查询用户信息②设置风险②使用手册390888383908883239088840已读取收藏收藏收藏收藏GoGoGoGo10分析用户请求意图理解/拆分检

索MCP构造参数执

行tools清晰明确各司其职错误反馈if

not

user_ireturn

{"status":"failed","message":"

户ID

列表不能为空"}if

not

isinstance(user_ids,list):参数

类型及值范围校验return{"status":"failed”,"message":

“用户ID

必须为list[int]"}if

not

isinstance(level,int)or

level<0:return

{

"status":"failed","message":"VIP

等级必须是非负整数“}try:

结构化的错误信息connectinn

dcnnecti王

:TesterHeme@mcp.tool

()de

batch_update_user_vip_

level(user

_ids:list[int],level:int)

->dict:

批量更新fanxing

测试环境用户

VIP

等级CodeBudd

::

m

u

i:

:

P

等级

完备的注释我将读取

useri

:return:操作结果信息等级为2。设置

的VI用户ID要dsvereelsparamparaMCP

市场

已安装fanxing

测试环境造数工具_user_currency

update_user_vip_levelbat

_update_user_vip_level

create_usertch_update_user_currency_level鱼声YAPI

接口查询工具search_interface_yusheng繁星YAPI接口查询工具search_interface_fanxing在fanxing库的t

user

表中插入100条模拟数据字段要求如下:XXXMCP

Server准确性提升策略MTSC2025中国互联网测试开发大会TESTINGSUMMiTcONFERENCECHINA2025试图构建一个大而全的MCP

Server<1>userid_list.>fanxing

测试…

…参数格式不正确,数格式并再次尝……

…>fanxing

测试已成功将

useri结果为:批量更帮我造点用户数据放到数据库里缺乏注释

无错误处理质效革新

·

智领未来上海站活跃用户数量①活跃用户总数116●VSCode

JetBrainslntelliJIdea●JetBrainsGoLand

●AndroidSti▶CodeBuddy

应用情况——使用人数MTSC2025中国互联网测试开发大会CodeBuddy

活跃人数116主办方:TesterHeme质效革新

·

智领未来对话活跃用户数量①113补全活跃用户数量①106活跃用户数量

①116上

站CodeBuddy

应用情况——应用效果近3成新增代码由AI补全,累计10W+

行总新增行数

①344,496补

数o28254744%11061017%8156212%460997%

补全采纳行数17786

2%

101,32612978

2%12916

29%●lua●go●

java●

javascript

python●kotlin●

vue●cpP1/7●

luago●

java●

javascriptpython●

vue●

kotlin●

javascriptreact▲

1/9MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme补全采纳行数①101,326补全生成行数①633,3903327028462144055360479228342633169232%28%14%5%4%2%2%1%补全采纳率(按行)①16.00%补全生成率(按行)29.41

%TESTING

SUMMiT

cONFERENCE

CHINA2025上海站补全生成行数①13252

2%Part2Al审核助手MTSC2025中国互联网测试开发大会质效革新

·

智领未来主办方:TesterHeme上

站前去围观西游篇▶翻卡得礼物1888星币/次

11.4万9月12日累计15例用户反馈九层宝塔线上活动页面异常原因:随着业务量上涨,有性能隐患的5QL

出现慢查导致当层已全开礼物池我

的)return

models,nil+

}+//按deckTd分组,每个分组输出最新的N条数据+func(t*toierUseronorDao)selectGroupByDeckTdAndTopN(platType

int32,activityrd

int32,num

int32)([]*po.ToweruserHonor,error)(sql:="SELECT”+t.tableField()+”FROM”+t.tableName(platType)+"ASeWHEREe.activityId=?AND(SELECT

COUNT(1)FROM"db:=mysq1.NewDb().Raw(sq1,activityId,num).Scan(&models)iferr:=ub.Errut;err!=nil{return

nil,errif

db.RowsAffcted

--e[return

nil,nil}11

returnmodels,nil}//按activityId

和deckId分页杳询,按createTime升序func(t*toweruUsertonorDao)PageselectByActivityrdAndDeckTd(platType

int32,activityd

int32,deckTd

int32,pageNo

int32,pagesize

int32)(

var

mode¹s[]^po.IoweruserHonorvar

offset=(pageNo

-1)*pagesizedb;=mysq1.NewDb().Table(t.tableName(platType).Where("deckld=?AND

activityrd=?”,deckrd,activityrd).order("createTime

Asc,if

err:=.ErrUt;err!=nil{return

nil,err}if

db.RowsAffected

--e

〔return

nil,nil}return

models,nil+func(t*towerUserHonorDao)BatchTnsert(towerUserHonorList[]*po,ToweruserHonor,platType

int32,db

*gorm.DB)error{tx:=db.Table(t.tableName(platType)).Create(towerUserHonorList)1f

err:=tx.Error;err!=n¹1{部分遗漏到线上的问题AICR

可有效发现当

dao-tower_user_honor_dao.go在SelectGroupByDeckIdAndTopN方法中,SQL语句中使用了嵌套子查询,可能会导致性能问题。已采纳仅评论允许合并)太长不看太长不着,并允许合并需要改进提交评审反馈,并要求完善后才允许合并完成评审100

+日均提交MR500

+平均代码行数/MRAICR—

破解MR

洪流下的审核困局49互动榜第99+名

红包〉MTSC2025中国互联网测试开发大会TESTING

SUMMIT

cONFERENCE

CHINA2025质效革新

·

智领未来主办方:TesterHemevarmodels[]^po.IoweruserHonor上海站×

MR

Filc

Diff25262829梁馆取消2122CICD质量报表

问题追踪

数据指标会话管理

项目人设管理

问题二次校验星云workflowqpilot-qpilot-混元-

混元-cr

llamalarge

stadardAICR

整体架构应用层服务层模型层prompt管理

敏感代码过滤预置模型GPT

deepseekMTSC2025中国互联网测试开发大会TESTING

SUMMiT

cONFERENCE

CHINA

2025质效革新

·

智领未来主办方:TesterHemecomment

hookMRevent上海站gitlab2024年Q4数据看板AICR数据可视化看板覆盖率/使用率/

采纳率等数据度量

推动持续改进2024年Q2接入星云接入混元、qpilot

模型增加CR问题二

次确认能力提升模

型拓展能力2024年Q3实时对话支持comment实时对话自动关联代码上下文降低代码优化成本2024年Q1接入C

ICDAICR报表融CICD看板采纳问题自动

创建bug单推动流程化闭环改进2023年M

R

A

I

C

R初步实现代码智能化审查,问题及建

议展示支持项目粒

度prompt定制MTSC2025中国互联网测试开发大会TESfiNGSUMMiTcONFERENCECHINA2025AICR演进过程质效革新

·

智领未来主办方:TesterHeme上

站AICR

整体使用流程审核概要in-Line

comment实时问答add

commentGitlabmrevents质效革新

·

智领未来

主办方:TesterHemeAl服务D5

星云CICDresultMTSC2025中国互联网测试开发大会cONFERENCE

CHINA

2025报表展示问题采纳BUG

记录上

站AICR报

告Chat

1(4216tokens)摘要信息:本次代码变更主要涉及两个文件,

GuessSongActivityService.java和UserActivityUniqueManager.java。

,GuessSongActivityService.java主

是关于猜歌活动的相关服务,包括活动信息的加载、活动时间的检查等功能;UserActivityUniqueManagerjava

主要是关于用户活动唯一性管理,包括保存用户活动、构造订单等功能。问

&

:GuessSongActivityService.java1

.(

):

在loadActivitylnfo方法中,startTime和endTime

都是从apolloParamBiz.getGuessSongAcivityStartTime)获取,可能存在问题,应该将endTime从apolloParamBiz.getGuessSongActivityEndTime(获取。修改建议:将endTime的获取方式改为从apolloParamBiz.getGuessSongActivityEndTime(获取。UserActivityUniqueManager.java1

.(

):

在getTableName

方法中,存在跨月问题,当orderTime

跨月时,可能会导致获取的表名错误。修改建议:增加对orderTime

跨月的处

理逻辑,确保获取的表名正确。2

.(

):

在save和buildUserActivityUniqueOrder

方法中,存在重复代码,可以进行重构以提高代码复用,修改建议:将重复的代码提取出来,

形成一个新的方法,然后在需要的地方调用这个新的方法。提升开发自检能力提测前recheck降低人工审核成本整体改动摘要基础审查建议Project

Activity

Repository

Pipelines

Graphs

Issues

0

Merge

Requests

13

WikiDiscussion7

Commits③

Changes2基于MR的AI审查助手MTSC2025中国互联网测试开发大会TESTINGSUMMITcONFERENCECHINA2025Al-CodeReviewer

@Al-CodeReviewer

commented

5

days

ago(4216

tokens)Al

review意见如下:质效革新

·

智领未来主办方:TesterHemeDeveloper

面上海站TASKMT□fxgov①start代码检测服务部署M开始冒烟副测试验收士代码终审士合入集成endAICR高优先级问题:2-199177_hide_activityASK-

199177【玩法同步】九层支持隐藏

…git:fxgroup_revenue_activityx产品未验收MR1.6

min2.2min单元测试57

sec

依赖扫描0

sec4.7hour2.2

day接口自动化46

sec

漏洞扫描2

sec⑧测试通过暂不发布单元通过率:100%接口通过率:100%

通用阻断:0定制阻断:0健康度:100.0×

MR

File

Diff_revenue_activity

MR!99services/tower/card_service

goCHANGED问题1017

10171018

101810191019@@-1017,9+1017,9@@func

GetConfig(req*req.ConfigReq,client*fxcontext.ClieRankTabList:RankTipList:WidgetTabList:rankTabList,rankTipList,widgetTabList,确认并采纳后对应问题将作为你的CR成果相关贡献量将展示在QEM平台10201020RolePopupswitch:tower.GetRolePopupSwitch(),RolePopupSwitch:true,全部services/tower/card_sevice.go10211022LightSwitch:TempTabSwitch:TempTabSwitch:true,tower.GetLightUserSwitch(client.KgId),tower.GetTempUserSwitch(client.KgId),edis使用时,'IncrBy和'Expire未进行错误处理,可能会导致异常情况下数据不一致,应对这两步操作进行适当的错误检查和处理。r采纳

不是问题102310241025215221532154}@@-2152,6}return

data,nil+2152,25

@@func

afterDrawCard(activityInfo

*vo.TowerActivityconfig,//判断指定轮次开关if

!tower.GetclearRoundAssignSwitch()I|utils.Contains(tower.GetAssi采纳

不是问题采纳问题自动提Bug2155215621572158215921602161216221632164216521662167216821690ymd:=uti1s.TimeToYmd(uti1s.CurrentsecondTime())ratio

:=tower.GetPublicChatAllRatio()keyTpl,tt1:=constant.GetRedisKeyInfo(constant.ChatRatio)

//按天拼接keyincrKey:=fmt.Sprintf(keyTpl,ymd)val,err:=redis.RedisClusterclient.IncrBy(context.Backgrounif

err

!=nil

{//降级val=utils.RandomInt64(helper.TailRange)+ratio}else{redis.RedisClusterclient.Expire(context.Background(),

}//遍历减去1直到ratio次后生成tailroomTails

:=make([]int32,0)fori:=int64(1);i<=ratio;i++{roomTails=append(roomTails,int32((val-i)%helper.Ta}在GetHonorList函数中存在过深的代码嵌套,代码嵌套层数超过了4层,需要进行代码重构以降低代码复杂度。采纳

不是问题tower_config.go未处理JsonStringToobject转化函数可能发生的错误。如在GetCardupgradePopupConfig0,GetLightList(platType

int32,activityld

int32),GetCardsta

进行处理的逻辑,如果在运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论