WeaveFox 设计图组件拆分_哔哩哔哩_bilibili

:::success 写在前面:

大家用ChatGPT类的工具时,应该能体会到,如果提供更好的提示词,得到的回答质量会更高。在智能研发中,分区调整的作用就像提示词一样,良好的分区,会得到更好的生成效果。

:::

按开发者视角来分区

『开发者的开发视角』来切分区块。比如开发者拿到设计稿,会怎么样去切分页面并组织组件形式,就如何去切块。比如下面的设计稿,开发者一般会按如下的方式切成几大块:

  • 顶部 Header 单独切块 —— PageHeader
  • 卡片导航区域单独切块 —— FeatureNavigator
  • 图片 Banner 单独切块 —— MainBanner

如何分区 - 图1

只框选需要生成代码的区域 & 删除不必要的分区

分区多会带来负面影响:

  • 生成时间变久:每个分区需要额外的任务去处理
  • 可能降低生成质量:分区越多,任务越复杂,处理效果可能会降低
  • 会生成不需要的代码:如果框选了不需要开发的分区,会生成不需要的代码,增加二次修改工作量

所以在分区时:

  • 只准确框选需要开发的部分
  • 不需要开发的地方,可以选中分区,按 Delete 键删掉相关的分区
    • 如顶部的 Header、侧边栏 Menu、面包屑
  • 分区内容过于简单的,可以删掉或者和其他分区合并
    • 比如就一个标题,这种就就算生成出来,可能就几行代码,没必要单独分区

以下面这个页面为例:

有多余的,不需要开发的分区❌

只框选需要开发的内容 ✅

合理的内边距

  • 上下左右四边,留少量的内边距】有些组件本身就有一定内边距(比如TabSteps 等),如果完全不留内边距,模型可能会觉得看上去不相似
  • 内容居中,四边距相近】大量训练数据的图片中,组件都是居中(四边内边距相近),不是偏在某一侧的,所以内容居中的分区识别得更准确
  • 不要留太大的内边距】如果有不必要的边距,还原出来的代码中可能有不必要的padding

几乎没有内边距❌

左边的内边距太大,内容没有居中 ❌

下方的内边距太大,可能会生成多余的paddingBottom ❌

Good ✅

尽量避开设计稿上的标注

设计稿上的标注在实际页面上不需要,会对生成结果造成比较恶劣的影响,所以分区的时候,应该尽可能避开它

包含了标注 ❌

避开标注✅

有些时候确实无法避开,可以先生成,生成后,在精修面板中可以选择标注并删除

如何分区 - 图10

分区拆的更细,生成往往会更准确

比如下面这张图片,可以将「筛选表单」和「表格」拆成两个分区:

如何分区 - 图11

也可以将筛选表单和表格作为一个分区

如何分区 - 图12

分区拆的更细,相当于帮助大模型将一个复杂问题拆成多个更简单的问题,生成效果会更准确。

但是也不能拆得太细,否则可能生成出来的组件(代码)粒度太细,不符合实际开发习惯。

尽量不要截断内容

截断后,模型可能会认不出来是个啥

按钮被截断了❌

完整的按钮 ✅

分区框左右撑满容器元素

如何分区 - 图15

同类元素框选为同一个分区

模型识别到重复元素,会自动抽取为循环渲染,更符合实际编码

如何分区 - 图16