
网络重试策略页面用滑块和开关看懂一次请求如何反馈网络请求失败后要不要再次尝试通常不是一个只有“重试”或“不重试”的二元问题。重试次数太少偶发的连接抖动可能让用户直接看到失败重试次数太多又可能让页面等待过久甚至把原本已经没有意义的请求继续发送下去。对于用户来说真正容易理解的不是抽象的重试算法而是一个能够把“允许尝试多少次”“每次之间如何等待”“这次最终尝试了几次”展示清楚的页面。眼前这个页面就是围绕这个问题做的一个小型交互演示。页面顶部用暖橙色标题区显示“网络重试策略”中间的配置卡片提供最大重试次数滑块和“指数退避”开关下面的结果卡片显示本次结果和尝试次数底部按钮负责触发一次模拟请求。它没有连接服务器也不会因为点击按钮而真的访问网络页面的价值在于把几个重试参数之间的关系变成可以直接操作和观察的界面。这类页面适合用来理解 ArkUI 中“状态改变界面跟着改变”的关系。滑块改变的是一个数字开关改变的是一个布尔状态两个状态又分别影响说明文字和按钮产生的结果文案。结果区域并不是一个复杂的网络日志而是把这次点击之后的结论放到醒目的暖色卡片里。用户不需要猜测开关有没有生效也不需要从一长串输出中寻找尝试次数。先从页面能看见的内容开始打开页面时最先看到的是一个铺满横向空间的标题卡片。标题文字为“网络重试策略”白色文字放在深橙色背景上字号比其他区域更大并且使用加粗效果。标题卡片采用圆角设计和页面下方的浅橙色背景形成对比。这样的安排先告诉用户页面讨论的主题再把具体控制项放到下面阅读顺序很自然。标题下面是配置区域。配置区域是白色圆角卡片内部按照从上到下的顺序放置最大重试次数文字、滑块、指数退避开关行和间隔说明。卡片不是把所有设置塞在一行里而是把数字设置与策略设置分成上下两层。用户先看到“最大重试次数3”再看到可以拖动的滑块接着看到“指数退避”开关和与之对应的间隔说明。这种纵向关系让每一个控件都有明确的解释对象。配置区域下面是结果区域。结果区域同样使用白色背景和圆角标题是“本次请求结果”下方有一块浅橙色的反馈框初始显示“尚未发起请求”再下面显示“尝试次数0”。结果卡片的作用不是配置而是呈现最近一次按钮操作后的结果因此它和上面的输入区域在视觉上是分开的。即使用户没有操作过页面也通过初始文案告诉用户当前还没有产生请求结果。最底部是一个横向铺满的按钮按钮文字是“发起带重试的请求”。按钮使用和标题相近的深橙色文字为白色和页面暖色主题保持一致。它是全页面最明确的动作入口。用户完成次数和策略选择后点击这个按钮就能看到结果文案和尝试次数发生变化。最大重试次数滑块到底改变了什么滑块是这个页面中最直观的数字控制器。它的可选范围从 0 到 5每次移动按整数步进变化。页面不会让用户输入一个无法识别的小数也不会让用户填入非常大的数。对于演示来说0 到 5 足以表现“完全不允许重试”“只允许很少次数”“允许更多次数”这几种情况同时让滑块保持容易操作的长度。滑块上方的文字会实时显示当前数字。例如初始状态显示“最大重试次数3”当滑块向左移动到 1 时文字就会变成“最大重试次数1”移动到 5 时则会显示“最大重试次数5”。这里的“最大重试次数”是页面给用户看的配置名称重点是让用户知道自己正在调整一个上限而不是正在直接修改某次请求的结果。把滑块移动到 0 是一个很有价值的边界操作。0 表示页面选择了最小的允许值但它并不会让按钮消失也不会让结果区域变成错误状态。点击按钮后页面仍然会给出一次尝试成功的演示结果。这个行为说明这里的数字主要用于决定当前页面展示哪一种尝试次数而不是一个完整的生产级重试执行器。阅读页面时要把“配置演示”与“真实网络机制”区分开。把滑块移动到 1 时按钮点击后的尝试次数同样会是 1。把滑块移动到 2、3、4 或 5 时点击按钮后显示的尝试次数会是 2。也就是说页面当前采用的是一个很明确的固定规则只要最大重试次数大于 1就把本次演示显示为经过 2 次尝试如果最大重试次数不大于 1就显示 1 次尝试。它没有根据每个失败阶段动态增加次数也没有把 5 显示成 5 次真实请求。这个规则并不是缺陷藏在界面里而是页面演示范围的一部分。通过它用户能观察到滑块边界会影响最终文案但不会误以为页面正在后台等待多个网络回调。更准确的理解是按钮根据次数上限生成固定的尝试反馈滑块并没有控制真实请求的重试循环。滑块还有一个细节值得注意移动过程中使用的是连续数值变化而页面文字最终按整数显示。由于步长设置为 1普通拖动会自然落在整数档位更新文字时又会把滑块值按四舍五入处理。因此页面不会出现“最大重试次数2.6”这样的中间状态。用户看到的始终是 0、1、2、3、4、5 其中一个明确档位。“指数退避”开关的可见效果配置卡片第二部分是一个开关行。左侧文字写着“指数退避”右侧是开关控件。开关打开时下面的说明显示“间隔300ms → 600ms → 1200ms”开关关闭时说明变为“固定间隔每次 300ms”。这两条文案是页面对两种策略的可视化解释用户不用查看额外说明就能感受到“逐次拉长等待时间”和“每次保持相同间隔”的差别。开关打开是页面的初始状态所以第一次打开页面就能看到指数退避说明。点击开关关闭后说明文字会立即切换成固定间隔版本再次打开又恢复成三个递增时间点的版本。这次变化只发生在说明区域和下一次按钮生成的结果文案中不会启动计时器不会让页面停顿 300 毫秒也不会真的等待 600 毫秒或 1200 毫秒。因此“指数退避”在这里有两层含义。第一层是视觉上的策略选择开关是否打开决定页面展示哪条间隔说明。第二层是结果文字中的标签按钮被点击后如果开关打开结果会带有“已应用指数退避”如果开关关闭结果会带有“已应用固定间隔”。这让用户能把配置区的开关和结果区的反馈对应起来。开关不会改变尝试次数。无论开关处于打开还是关闭状态只要最大重试次数大于 1按钮结果仍然显示 2 次尝试如果次数不大于 1仍然显示 1 次尝试。开关影响的是等待策略的说明和结果标签而不是次数计算。这种分工很清晰滑块负责数量维度开关负责策略维度结果文案同时反映两个维度。如果先把滑块调到 4再关闭开关页面会出现“最大重试次数4”和“固定间隔每次 300ms”点击按钮后结果会显示“2 次尝试后请求成功 · 已应用固定间隔”尝试次数显示 2。如果之后只打开开关而不触碰滑块最大重试次数仍然保持 4说明文字改为指数退避下一次点击的结果标签也会改回“已应用指数退避”。这正是两个状态相互独立的表现。结果卡片如何记录一次点击结果卡片初始包含两个信息。第一行是“本次请求结果”它是区域标题第二行是“尚未发起请求”它是结果内容第三行是“尝试次数0”它是次数摘要。初始状态没有成功或失败颜色也没有历史列表因为此时页面还没有发生按钮操作。点击按钮之后结果内容会被替换为一条完整的成功文案。文案由尝试次数、固定的“次尝试后请求成功”和当前策略名称拼接而成。例如在默认设置下最大次数为 3指数退避打开结果会显示“2 次尝试后请求成功 · 已应用指数退避”尝试次数摘要也会从 0 变为 2。如果把最大次数调到 1再点击按钮结果会变成“1 次尝试后请求成功 · 已应用指数退避”次数摘要是 1。若此时再关闭指数退避结果策略部分改为“已应用固定间隔”而尝试数字仍然是 1。这种反馈很适合观察单一设置变化只改滑块数字变化只改开关策略文字变化两者都改结果同时反映两种设置。结果区域使用浅橙色背景和深橙色文字和标题、按钮保持同一色彩体系。浅橙色反馈框并不表示发生了错误它只是页面主题中的强调色。看到“请求成功”时颜色与成功结果相配看到初始的“尚未发起请求”时用户也能在相同区域中理解当前尚未执行动作。每次点击按钮都会覆盖上一次结果文字和尝试次数页面没有保存多次点击的历史也没有显示时间戳、请求地址、响应码或失败原因。即使连续点击按钮结果区域也只保留最后一次按照当前设置生成的演示结果。这个特点让页面保持简单读者可以专注于参数与反馈的关系。一次完整的操作路径可以按照“先调整次数再调整策略最后发起请求”的顺序体验页面。开始时先确认页面显示最大重试次数 3指数退避开关处于打开状态间隔说明为 300ms、600ms、1200ms结果是尚未发起请求尝试次数是 0。此时不要急着点击按钮先观察默认状态之间的对应关系。接着将滑块拖到 0。滑块上方文字会变成“最大重试次数0”其他区域不变结果仍然是尚未发起请求尝试次数仍为 0。这个变化说明调整设置不会自动触发请求也不会把旧结果提前清空在没有点击按钮之前结果卡片仍维持上一轮状态。初始时因为没有上一轮所以维持的是初始文案。点击按钮后结果区会显示 1 次尝试成功策略仍然是指数退避次数摘要变为 1。这里的重点是 0 档位的页面规则而不是把它解释为真实网络库会如何处理零次重试。页面只是让用户看到最小数字如何参与演示结果的计算。然后把滑块拖到 5。滑块文字变成 5但结果不会在拖动时自动改成 2仍会保留刚才的 1 次结果直到用户再次点击按钮。这一点很重要配置变化和执行动作是两个不同步骤。再次点击后结果变成 2 次尝试成功次数摘要更新为 2。此时页面完成了从最小档位到较大档位的可见对比。接下来关闭指数退避开关。间隔说明立即变为固定间隔版本结果卡片仍暂时保持刚才的指数退避结果因为尚未发起新的演示请求。再次点击按钮之后策略标签才改为固定间隔。这个先改设置、再执行动作的节奏让配置区和结果区的职责分界非常明确。还可以先设置开关再调整滑块。比如开关保持关闭滑块调到 1说明显示固定间隔结果在点击前仍保持上一次状态点击后尝试次数变成 1策略标签是固定间隔。无论操作顺序怎样最终文案都取决于按钮点击瞬间的两个设置值而不是取决于用户之前的操作历史。不同组合下的结果对照这个页面最适合通过组合观察来理解。次数有 0 到 5 六个档位策略有打开和关闭两种状态理论上可以形成十二种配置组合。虽然页面没有把所有组合列成表格但用户可以通过滑块、开关和按钮逐个观察。每一种组合都不会改变布局结构只会改变次数文字、间隔说明和结果中的策略标签。在次数为 0、指数退避打开时按钮结果是 1 次尝试成功并标注指数退避次数为 0、指数退避关闭时结果是 1 次尝试成功并标注固定间隔。两种情况下数字相同策略文字不同。在次数为 1 时打开或关闭开关都只显示 1 次尝试区别仍然是策略标签。在次数为 2、3、4、5 时打开或关闭开关都会显示 2 次尝试区别同样是策略标签。由此可见次数设置和退避设置不是乘法关系页面没有把“重试次数”与“等待次数”叠加成更复杂的计算。如果连续切换开关可以看到间隔说明在两种文字之间往返但结果不会同步改变除非点击按钮。这说明说明文字属于配置状态的即时展示结果文字属于执行动作之后的记录。把这两种反馈分开能够避免用户误以为只要调整了开关旧请求就会重新执行。如果连续拖动滑块也不会出现请求次数自动增长。滑块只是改变下一次按钮点击的输入。比如在 5 和 1 之间来回拖动十次页面不会自动把 attempt 增加十次只有点击按钮才会重新生成当前规则下的结果。对于体验者来说这是一个清晰的操作边界也避免了滑动过程触发大量无意义动作。页面布局为什么适合这个演示页面整体是一个纵向排列。根区域设置了较大的内边距并在各个主要区域之间保持固定间隔因此标题、配置卡片、结果卡片和按钮不会挤在一起。暖橙色背景贯穿页面白色卡片承载具体内容深橙色只用于最需要关注的标题和动作。标题卡片的圆角比普通文本更醒目白色文字与橙色背景产生对比。配置卡片中的文字使用深色辅助说明使用灰色形成主次层级。开关行让文字占据剩余空间开关靠右放置符合常见设置页面的阅读习惯。用户先读“指数退避”再在右侧寻找开关不需要在卡片中来回定位。滑块放在数字说明下方这样用户拖动时可以立刻回头看数字是否改变。结果区域把结果文本放在一块浅橙色圆角框中和标题、次数摘要分开方便快速找到最新反馈。按钮横向占满内容宽度点击区域大适合手机触控也让页面的主操作非常明确。这些布局选择都服务于当前页面主题。页面不需要复杂导航也不需要列表、弹窗或多页面切换。它的主要关系只有“设置—执行—反馈”三步所以纵向排列比多栏布局更适合。用户从上往下阅读正好对应先配置、再执行、再查看结果的流程。页面里的状态关系页面有四个相互配合的状态维度。最大重试次数是一个数字初始为 3指数退避是一个开关初始为打开结果文案初始为尚未发起请求尝试次数初始为 0。四个状态并不承担相同职责理解它们各自负责的区域就能看懂页面为什么会这样变化。数字状态负责配置区的主文字并在点击按钮时参与决定尝试次数。开关状态负责间隔说明并在点击按钮时决定结果文案末尾使用指数退避还是固定间隔。结果文案只负责显示最近一次动作得出的说明不反过来修改滑块或开关。尝试次数则是结果区中的数字摘要由按钮动作直接更新。用户拖动滑块时只改变数字状态用户切换开关时只改变策略状态用户点击按钮时同时根据两个当前设置更新结果文字和尝试次数。这样的关系可以用一句话概括配置控件改变输入按钮把当前输入转换成一次可见反馈。如果用户在点击后改变滑块结果文案不会立刻重算。这是因为结果和尝试次数只在按钮动作中更新。滑块变化只更新最大次数文字开关变化只更新间隔说明。只有下一次按钮动作发生时新的设置才会进入结果。这个行为使页面具备“编辑配置”和“执行配置”两个阶段。页面没有显式重置按钮因此想回到默认状态需要把滑块拖回 3、把开关打开并重新打开页面来清除结果。如果只把滑块改回 3旧的结果文案和尝试次数会继续显示如果只打开开关旧结果中的固定间隔标签也不会自动变回指数退避。这个边界符合当前简单页面的实际行为也提醒我们不能把配置值和历史结果混为一谈。用具体场景理解页面反馈场景一是默认策略验证。页面刚打开时用户看到最大次数为 3、指数退避开启、三段间隔说明、尚未发起请求和 0 次尝试。点击按钮后结果变为 2 次尝试成功并标注已应用指数退避。这个场景可以验证初始值和默认按钮反馈是否对应。场景二是关闭退避策略。保持次数为 3关闭开关观察说明立即变为每次 300ms。点击按钮结果显示 2 次尝试成功并标注固定间隔。这个场景只改变策略状态可以清楚看到结果后缀的变化而不影响次数。场景三是单次尝试。把滑块拖到 1保持开关任意状态点击按钮。结果数字应为 1次数摘要也为 1。这个场景可以验证数字边界在不大于 1 时的固定规则。场景四是允许更多次数。把滑块拖到 5点击按钮结果数字应为 2而不是 5。这个场景最能说明页面展示的是一个固定模拟规则不是实际执行了五次连接。介绍页面时保持这个区别非常重要。场景五是先执行后改配置。先按默认值点击按钮再关闭开关并把次数改成 1不再点击按钮。此时配置区显示新的设置但结果区仍保留刚才的指数退避和 2 次尝试。这个场景可以帮助理解结果是上一次按钮动作的记录不是对当前配置的实时预览。场景六是重复点击。在同一组设置下连续点击按钮结果文字看起来相同尝试次数不会继续累加而是按当前次数上限重新写入 1 或 2。页面没有累计请求次数也没有日志列表。重复点击只是重复生成当前规则下的同一条结果。这不是一个真实网络请求工具页面标题和按钮文案使用了“请求”“网络重试”等词但页面本身没有网络地址输入框、请求方法选择、响应状态码、加载状态、错误提示、超时计时、取消按钮或网络权限说明。点击按钮不会向服务器发送数据也不会读取真实的请求失败原因。页面所做的事情可以准确概括为读取当前滑块数字和开关状态根据一个固定条件设置尝试次数再生成一条成功结果文字。这个过程发生在本地界面状态中速度很快也不依赖网络环境。即使设备处于飞行模式页面仍然可以完成同样的显示变化。指数退避说明中的三个时间点也不是计时器。页面没有在 300ms、600ms、1200ms 后逐步更新日志用户不会看到等待过程更不会因为时间变长而看到按钮处于加载状态。固定间隔说明同样只是文本不代表页面真的安排了三次延迟任务。“请求成功”是结果字符串中的演示用语不是服务器返回的成功状态。页面没有失败分支所以点击按钮后无论输入是什么都不会显示连接失败、重试耗尽或请求超时。尝试次数也不是网络层采样值而是根据次数设置得到的页面数字。如果要把它扩展成真实网络功能还需要额外设计请求发起、异常分类、超时控制、退避计时、最大总耗时、取消操作和失败展示等部分。但这些内容不属于当前页面已经呈现的功能不能在介绍当前应用时写成现成能力。当前页面更适合作为重试参数与反馈关系的可视化练习。从页面行为看声明式 UI这个页面很适合观察声明式 UI 的基本工作方式。开发者不需要在拖动滑块后手动寻找所有需要更新的文字也不需要在开关切换后手动刷新卡片。滑块改变数字后依赖该数字的最大次数文字会重新显示开关改变布尔状态后间隔说明会选择另一条文本按钮改变结果和尝试次数后结果卡片中的两处内容会一起更新。这种关系让每个控件的职责都很明确。滑块是输入数字文字是输入的可见摘要开关是输入间隔说明是策略的可见摘要按钮是动作结果卡片是动作的可见输出。页面没有把文字直接改成一组难以追踪的临时值而是让它们由当前状态重新计算。在手机界面里状态反馈尤其重要。用户拖动滑块时如果上面的数字不变就无法确认拖动是否生效用户关闭开关时如果间隔说明不变就不知道当前使用的是哪种策略用户点击按钮后如果结果区域仍是“尚未发起请求”就无法确认动作是否被接收。这个页面通过三个位置的即时文字把反馈闭环补齐。不过声明式更新也不意味着页面拥有更多业务能力。状态能够让文字重新渲染但不会凭空产生网络连接也不会自动创建重试任务。界面的响应速度和网络层的执行能力是两件不同的事。学习时既要看到状态驱动的优点也要清楚状态变化本身不等于真实请求已经发生。颜色和文字如何共同传达结果深橙色在页面中承担强调作用。标题卡片使用深橙色让页面一打开就能建立主题底部按钮使用同样的颜色提示用户这是主要操作结果文字也使用相近的色调让最新反馈在白色卡片中容易被发现。背景使用更浅的橙色既不会抢走内容注意力又能把页面和白色卡片区分开。灰色文字用于辅助信息。例如间隔说明使用灰色尝试次数摘要也使用灰色。它们很重要但不是用户第一眼必须读取的结果。主标题、当前结果和操作按钮则使用更强的对比让阅读层级保持清楚。文字本身也有层级。页面标题最大配置和结果区域的标题次之当前结果正文居中突出辅助说明较小。最大次数文字属于配置输入的摘要因此字号比间隔说明大尝试次数属于结果区的补充信息因此字号比结果正文小。通过字号、颜色、背景和间距的共同作用用户可以迅速区分“我要设置什么”“页面给了什么反馈”。结果框采用浅色背景而不是强烈的红色或绿色这说明它更强调信息承载而不是成功失败语义。虽然结果文案写着成功但页面没有专门设计成功图标、错误图标或不同的状态卡片。它只用文字说明当前模拟结果因而不能据此推导出完整的通知系统或错误处理体系。触控体验中的细节滑块适合用手指拖动0 到 5 的档位数量不多用户可以快速定位。每一步都有数字反馈避免需要精确拖动到某个难以辨认的位置。开关则是一个标准的二态控制打开和关闭的视觉状态清楚右侧放置也符合手机设置页面的习惯。按钮横向铺满卡片宽度触控区域比只包住文字更大。用户完成设置后视线从上方配置卡片自然移动到底部按钮不需要寻找一个很小的图标。按钮文字直接说出动作不使用“确定”“执行”这种含义不够具体的词因此首次接触页面的人也能理解点击后会看到请求结果。页面没有弹窗和复杂手势所以操作路径短。用户不需要先打开菜单再进入策略面板再返回结果页。所有内容在同一屏内按顺序展示适合用来观察状态变化也适合初学者在模拟器或真机上反复练习。当文字长度变化时结果框仍保持完整的圆角区域。中文结果文案包含次数、成功状态和策略名称长度比初始文案更长但页面给结果文本设置了足够的宽度和内边距。实际设备上仍应观察不同字体大小和窗口宽度下的换行表现这属于显示适配问题不应被描述为重试逻辑的一部分。适合初学者的阅读顺序第一次阅读这个页面可以先只关注三个位置滑块上面的数字、开关下面的说明、结果卡片中的文字。先拖动滑块确认只有数字变化再切换开关确认只有策略说明变化最后点击按钮观察结果文字和尝试次数一起变化。按照这个顺序页面的状态关系会比直接阅读一堆接口名称更容易理解。第二遍可以关注边界。把次数设为 0观察点击后仍然是 1 次把次数设为 5观察点击后是 2 次在点击前修改配置观察旧结果是否保持关闭开关后点击观察策略标签是否变化。边界操作能够帮助发现页面的固定规则也能避免把界面文案误读成真实网络执行日志。第三遍再关注布局。查看标题卡片、配置卡片、结果卡片和按钮之间的纵向关系理解为什么设置在前、反馈在后。观察开关行中文字和控件的左右排列理解同一行布局如何保持两个元素的关系。观察结果框的颜色和圆角理解一个简单的文本反馈如何在页面中获得足够的视觉重点。最后可以尝试从用户角度复述页面我可以选择允许的最大重试次数可以打开或关闭指数退避说明点击按钮后得到一次按照当前选择生成的成功反馈。这个复述如果不包含服务器、真实延迟、失败日志或跨页面历史就更接近当前页面实际提供的能力。当前页面的明确边界当前页面没有请求地址所以用户不能选择服务器没有请求方法所以不能区分 GET、POST 或其他方式没有请求参数输入所以按钮也不会提交业务数据没有加载动画所以无法观察等待过程没有错误状态所以无法模拟网络失败没有日志列表所以不能回看多次尝试没有取消按钮所以无法中止一个正在等待的请求。当前页面也没有动态生成退避时间。无论最大次数设置为多少指数退避说明始终固定显示 300ms、600ms、1200ms固定间隔说明始终显示每次 300ms。页面不会因为把次数调到 5 就自动出现第五个时间点。因此这些时间只用于帮助理解策略名称不是由数字实时计算出来的完整时间表。当前页面的成功文字也不会因为开关或次数变成失败。所有配置组合最终都会得到成功文案只是尝试次数和策略标签不同。若要表达请求失败、重试耗尽或网络不可用需要增加新的状态和交互但那会改变当前页面的范围。介绍这个页面时保留这种限制反而更容易让读者准确理解它。当前页面没有保存用户上次选择的设置。离开页面再重新进入滑块回到 3开关回到打开结果回到尚未发起请求尝试次数回到 0。它没有本地持久化也没有账户级配置同步。页面展示的是一次打开期间的交互状态而不是一个长期保存的网络策略管理工具。结束语这个网络重试策略页面没有试图把所有网络能力都塞进一个小界面而是选择了一个非常具体的观察目标让用户调整最大重试次数和退避策略然后点击按钮查看对应的尝试反馈。滑块负责 0 到 5 的数字输入开关负责指数退避与固定间隔的选择间隔文字即时解释开关状态结果卡片记录最近一次按钮动作尝试次数则把固定规则转换成一个容易读懂的数字。从默认状态开始用户可以看到 3 次上限、指数退避打开、尚未发起请求和 0 次尝试改变滑块可以观察配置数字切换开关可以观察间隔说明点击按钮可以观察结果文字。次数不大于 1 时显示一次尝试大于 1 时显示两次尝试指数退避只影响间隔说明和结果标签不影响这个固定次数规则。这些都是页面能够直接验证的行为。理解这种小而完整的反馈闭环对学习 ArkUI 很有帮助。一个状态改变后相关文字会及时改变一个按钮动作可以同时更新结果和摘要配置区域与结果区域各自承担清楚的责任。与此同时页面也提醒我们不要把界面演示文案当作网络层实现没有地址、请求、计时器和错误分支就不能声称已经完成真实重试。如果把这套界面继续完善应该先保持现有的设置、执行、反馈结构再逐步增加真实请求所需的状态而不是直接把更多概念堆到页面上。无论未来是否加入真实网络能力当前页面已经完成了它的目标用几个容易操作的控件把重试次数、退避选择和一次结果之间的关系展示清楚。这也说明一个页面是否写得清楚不取决于它是否堆满了术语。对这个页面来说最有价值的内容就是把滑块的六个档位、开关的两种说明、按钮的固定规则和结果卡片的变化讲明白。读者能够按照文字完成操作看到预期的数字和策略标签就已经理解了这个演示的核心。任何超出这些可见行为的描述都应该谨慎区分为设想而不是当成页面已经具备的能力。