古いコードに理由コメントを足します
コーディングとデバッグ古いコードに理由コメントを足します(中国語の原文)
这段代码 [代码片段] 没有注释,接手的人不敢改。请只补「为什么」类注释:魔数从哪来、这里为什么要 sleep、为什么不…
AI / コーディングとデバッグ
誰が傷つくのか、どの経路が最も脆いのか、失敗時にどう戻すのかを洗い出す
12 / 17
古いコードに理由コメントを足します(中国語の原文)
这段代码 [代码片段] 没有注释,接手的人不敢改。请只补「为什么」类注释:魔数从哪来、这里为什么要 sleep、为什么不…
副作用を純粋な計算から切り離します(中国語の原文)
这个函数既算价格、又写数据库、还发消息。请把它拆成 [纯计算部分] 与 [副作用执行部分]:纯函数只收参数只返结果,副作…
引数8個の関数を設定オブジェクトにします(中国語の原文)
这个函数有 [参数个数] 个位置参数,调用处经常传错顺序。请改成配置对象或具名参数,给出新签名、默认值、必填校验,以及全…
巨大なswitchを対応表に置き換えます(中国語の原文)
这个 switch 有 [分支数] 个分支,每个分支在做类似的事。请重构成「键 → 处理函数」的映射表,输出映射定义、默…
肥大化したユーティリティを分割します(中国語の原文)
这个 utils 文件里有 [方法数] 个互不相关的函数,谁都在 import。请按「调用方 + 变化原因」分组,给出新…
曖昧な変数名を意味のある名前にします(中国語の原文)
这段代码里出现了 [含糊命名清单] 这类名字。请逐个给改名建议:新名字要说清它装的是什么、单位或量纲、能不能为空;每个旧…
真偽値の命名をisやhasの形に揃えます(中国語の原文)
这个模块 [模块名] 里布尔变量和返回布尔的函数命名混乱,有 is_、有 has_、还有直接叫 status 的。请统一…
同じ概念の用語を一つに統一します(中国語の原文)
同一个概念在代码里被叫成 [同义叫法一]、[同义叫法二]、[同义叫法三]。请先确定唯一术语并说明理由(和业务方口径、和数…
テーブル定義の命名をレビューします(中国語の原文)
请审查这份建表语句 [DDL] 的命名:缩写是否可读、布尔字段是否带 is_ 前缀、created_at 与 updat…
テスト名を振る舞いが分かる形にします(中国語の原文)
这些测试 [测试文件] 的名字是 test1、test_ok、test_error2,失败时完全看不出坏了什么。请重命名…
設定キーの命名を統一します(中国語の原文)
项目里的配置键 [混乱示例] 谁也说不清谁在用。请定一套命名约定:统一前缀(服务名或模块)、层级用分隔符表达归属、带单位…
名前と動作がずれた関数を直します(中国語の原文)
这个叫 [函数名] 的函数实际做了三件名字里没写的事。请判断:是改名让名字配得上行为,还是把多余的事挪走让行为配得上名字…
握りつぶされた例外を見つけます(中国語の原文)
请扫描 [待审查的代码] 里所有 catch 之后什么都不做、或只打一行日志就继续的地方,逐处判断:这里失败会导致什么业…
nullで失敗を表すのをやめます(中国語の原文)
这个函数 [函数名] 用返回 null 表示失败,调用方十个有八个没判空。请改成显式的成功/失败结果类型(Result、…
外部APIにタイムアウトを足します(中国語の原文)
这段代码调用 [外部服务],没有超时、失败就抛、重试还会重复下单。请补齐:连接与读取超时(给出建议值及依据)、只对可重试…
再試行すべきエラーを見分けます(中国語の原文)
现在的重试逻辑对所有异常一视同仁。请按 [调用场景] 把错误分成三类:重试就会好(网络抖动、限流)、重试也没用(参数错、…
エラーメッセージを調査可能にします(中国語の原文)
现在 [接口或函数] 报错只说「操作失败」。请改写成可排查的格式:发生了什么、卡在哪个步骤、关键输入是什么(脱敏)、请求…
例外時にも資源を確実に解放します(中国語の原文)
这段代码打开 [文件/连接/锁] 之后,中间任何一步抛异常都会泄漏。请改成异常安全的写法(try-with-resour…
画面側のエラー処理を種類別に分けます(中国語の原文)
这个页面 [页面名] 里所有接口错误都被 catch 后弹一句 toast,用户不知道下一步做什么。请按类型处理:可重试…
関数のエラー契約を文書化します(中国語の原文)
请为 [函数/接口] 写一份错误契约:它在什么条件下抛错、抛什么类型、调用方必须处理哪些、哪些可以直接冒泡。用一张表列出…
空入力の境界ケースを洗い出します(中国語の原文)
请为 [函数名] 列出必须覆盖的空值边界:参数为 null、空字符串、只有空白的字符串、空数组、只有一个元素,以及「有值…
一括エクスポートの境界を点検します(中国語の原文)
这个导出功能一次导出 [数据范围],现在偶尔超时或把内存打满。请列出边界并给出处理:超时(同步改异步任务)、内存(流式写…
日付計算の境界を洗い出します(中国語の原文)
这段代码做日期加减和「本月」统计。请检查这些边界:月末加一个月、闰年 2 月 29、跨年、夏令时切换的那一小时、服务器用…
金額計算に浮動小数点を使いません(中国語の原文)
这段代码 [金额计算逻辑] 用浮点数算钱并直接四舍五入。请指出会出错的场景:0.1 加 0.2、多次累加后的误差、除以…
秒とミリ秒を混在させないようにします(中国語の原文)
这段代码里 [超时/间隔参数] 有的按秒、有的按毫秒传,出过十倍偏差。请逐处标出每个数值的单位依据(来自哪份文档或哪个库…
文字列長と文字の落とし穴を確認します(中国語の原文)
这段代码按 [长度规则] 校验用户名,并把内容拼进 SQL 和页面。请列出边界:超长输入、纯 emoji(一个字符占多个…
権限外アクセスの境界を確認します(中国語の原文)
这个接口从 URL 拿 [资源 id] 就直接查库返回。请找出越权风险:改 id 能否读到别人的数据、列表接口是否漏了归…
アップロード処理の境界を点検します(中国語の原文)
请审查上传接口 [接口地址] 的边界:空文件、超大文件、扩展名与实际内容不符、文件名带路径穿越、压缩包解压炸弹、并发上传…
似たコードを統合すべきか判断します(中国語の原文)
这三段代码看起来很像,但分别属于 [模块 A]、[模块 B]、[模块 C]。请先判断它们是「真重复」还是「碰巧长得像」:…
入力チェックの規則を一箇所にまとめます(中国語の原文)
手机号、身份证、金额上限这些规则 [涉及的表单] 在前端、后端各写了一遍,改一处就漏一处。请给出收敛方案:规则定义放哪(…
テストの前準備を共通化します(中国語の原文)
这个测试文件里每个用例都重复了 [行数] 行准备数据。请抽出 fixture 或工厂函数,要求默认值合理、每个用例只显式…
重複したログと計測をまとめます(中国語の原文)
每个分支 [分支清单] 里都手写了同样的埋点和日志,新加分支时经常漏。请改成在一处统一处理:用装饰器、中间件或切面在进入…
散らばったマジックナンバーを定数化します(中国語の原文)
这段代码里到处是 [魔法数字示例] 这样的字面量,同一个值出现在五个地方,而且已经不一致了。请收敛成常量或枚举:命名带单…
重複したSQLを共通化します(中国語の原文)
这三个查询 [SQL 片段] 有八成 WHERE 条件相同。请给出收敛方案:抽成视图、CTE,还是仓储层的一个方法;比较…
環境ごとの設定を重複なく整理します(中国語の原文)
开发、测试、生产三份配置 [配置文件路径] 有大量重复,只有少数值不同。请改成「基础配置 + 环境覆盖」的结构:哪些必须…
再スロー時に元のスタックを残します(中国語の原文)
这段代码 [异常处理片段] 捕获异常后重新抛了一个新异常,只带了句「处理失败」。请找出所有丢失原因的地方:新异常有没有挂…
複数サーバーのログ時刻を揃えます(中国語の原文)
这几台机器上的日志 [时间段] 对不上,同一请求在两台上的先后顺序是反的。请给出排查与规范:是时钟漂移、时区没统一,还是…
ログに残る個人情報を処理します(中国語の原文)
这些日志 [日志样例] 里打了手机号、身份证、完整卡号和请求头里的 token。请给出脱敏方案:哪些字段必须完全移除、哪…
printでの調査を正式なログに変えます(中国語の原文)
这份脚本里用了 [处数] 个 print 来排查问题,上线后既关不掉也没法检索。请替换成日志:定义 logger、按用途…
異常終了時にログが消える原因を調べます(中国語の原文)
这个服务 [服务名] 崩溃后,日志停在了出事前几十秒,最后几条关键信息没了。请排查:日志是否走了异步 appender…
主要な処理に所要時間の計測を入れます(中国語の原文)
这条 [链路名] 变慢了,但不知道慢在哪一步。请给出打点方案:每步开始与结束各记一次时间戳,算出本步耗时与累计耗时,标明…
ログのローテーションでディスクを守ります(中国語の原文)
这台机器上的日志 [目录] 占了大部分磁盘。请审查轮转配置:按大小还是按天切、单文件上限、保留几个历史文件、是否压缩、以…
テーブル全体を読み込まないようにします(中国語の原文)
这段代码一次查出 [表] 的全部记录,再在内存里过滤。请改成流式或分批处理:游标与分页的选法(避免 offset 越翻越…
必要な列だけを取得するようにします(中国語の原文)
这段查询用了 SELECT 星号,表里还有 [大字段,如 描述/JSON]。请指出代价:多传的列带来的网络与内存开销、大…
長いリストの重さを切り分けます(中国語の原文)
这个页面一次渲染 [条数] 条数据,滚动明显掉帧。请按代价从低到高给出方案:分页或无限滚动、列表虚拟化、行组件 memo…
キャッシュの無効化を設計します(中国語の原文)
这段代码给 [数据] 加了缓存,但没有失效策略。请设计:key 怎么带版本或租户、过期时间依据什么定、更新时是删缓存还是…
不要なコピーを見つけます(中国語の原文)
这段代码 [数据处理逻辑] 在大对象上来回拷贝(切片、深拷贝、序列化再反序列化)。请逐处判断是否必要:哪些是为了防止外部…
コネクションプールの設定を決めます(中国語の原文)
这个服务的数据库连接池用了默认值,高峰期报等待超时。请根据 [并发量/单次查询耗时/实例数] 推算合理参数:最大连接、最…
この正規表現は暴走しませんか(中国語の原文)
这条正则用在用户输入上 [正则表达式]。请判断是否存在灾难性回溯(嵌套量词、相邻的通配与量词),给出会触发它的最坏输入示…
バンドルが大きい理由を特定します(中国語の原文)
构建产物有 [体积] MB,首屏加载慢。请给一套排查顺序:按体积列出模块、找出被整包引入的库(能否按需引入)、检查重复依…
触れにくい関数にテストを足します(中国語の原文)
这个函数 [函数名] 没有测试,谁都不敢改。请先按分支列出用例清单(正常、边界、异常各几条),再写出测试代码:每个用例只…
実質何も検証していないテストを探します(中国語の原文)
请审查测试文件 [文件路径] 的有效性:有没有只调用不断言、断言过宽(只判非空)、把被测代码的算法抄一遍再比对、mock…
バグ修正の前に落ちるテストを書きます(中国語の原文)
这个 bug 的复现步骤是 [复现步骤]。请先写一条当前必然失败的测试把它钉住(最小输入、明确断言),再给出修复思路,最…
テストから実ネットワークを外します(中国語の原文)
这批测试会真的请求 [外部服务],又慢又不稳定。请给出打桩方案:在哪一层拦截(HTTP 客户端、接口封装还是依赖注入)、…
カバレッジの死角を見つけます(中国語の原文)
这个模块行覆盖率 [百分比],但线上仍然出问题。请指出覆盖率看不出的盲区:从未执行过的错误分支、只走了一条的 switc…
スナップショットテストの是非を判断します(中国語の原文)
这个项目里 [快照数量] 个快照测试动不动就整片失败。请判断哪些适合快照(稳定的结构化输出、序列化格式),哪些不适合(含…
スモークテストを一本追加します(中国語の原文)
这个项目发布前靠人工点一遍。请设计一条冒烟测试:覆盖 [核心路径,如 登录 → 下单 → 支付回调 → 订单落库],说明…
遅いクエリの実行計画を読み解く(中国語の原文)
这段 PostgreSQL 的 EXPLAIN 输出和表结构如下。请:1)指出耗时最高的节点及原因(扫行数、回表、排序、…
深いページ送りをカーソル方式に変える(中国語の原文)
这段分页 SQL 在 [页码/数据量] 之后明显变慢。请:1)说明 OFFSET 为什么随页码线性变慢;2)给出用「上一…
複合インデックスの列順を決める(中国語の原文)
下面有 [N] 条高频查询和表的字段说明。请设计联合索引:1)按等值、范围、排序三类条件排出列顺序,逐条说明理由;2)标…