可读性控制流重构Skill control-flow

这个技能用于重构复杂的条件逻辑,通过模仿人类推理模式,如使用早期返回、自然语言变量和清晰的条件评估,以提高代码的可读性、可维护性和决策效率。适用于软件开发中的代码优化和逻辑重构,特别适合前端和后端开发场景。关键词:控制流重构、代码可读性、条件逻辑、早期返回、自然语言变量、TypeScript、软件工程、代码优化、决策逻辑。

架构设计 0 次安装 0 次浏览 更新于 3/20/2026

name: control-flow description: 用于重构复杂条件逻辑的可读性控制流模式。在重构嵌套条件、提高代码可读性或重构决策逻辑时使用。

可读性控制流

重构复杂控制流时,模仿自然的人类推理模式:

  1. 首先问人类问题:“我能用我已有的东西吗?” -> 早期返回以处理顺利路径
  2. 评估情况:“我当前的状态是什么,我需要做什么?” -> 清晰、互斥的条件
  3. 采取行动:“获取我需要的东西” -> 在末尾整合逻辑
  4. 使用自然语言变量isUsingNavigator, isUsingLocalTranscription, needsOldFileCleanup:名称像思考一样读取
  5. 避免人为构造:不使用不符合人类实际思考方式的嵌套条件

将这种:带有重复逻辑的嵌套条件 转化为:模仿人类决策的线性流程

示例:早期返回与自然语言变量

// From apps/whispering/src/routes/(app)/_layout-utils/check-ffmpeg.ts

export async function checkFfmpegRecordingMethodCompatibility() {
  if (!window.__TAURI_INTERNALS__) return;

  // 仅当选择FFmpeg录制方法时检查
  if (settings.value['recording.method'] !== 'ffmpeg') return;

  const { data: ffmpegInstalled } = await rpc.ffmpeg.checkFfmpegInstalled.ensure();
  if (ffmpegInstalled) return; // FFmpeg已安装,一切良好

  // FFmpeg录制方法已选择但未安装
  toast.warning('FFmpeg录制方法需要FFmpeg', {
    // ... toast内容
  });
}

示例:自然语言布尔值

// From apps/whispering/src/routes/(app)/_layout-utils/check-ffmpeg.ts

const isUsingNavigator = settings.value['recording.method'] === 'navigator';
const isUsingLocalTranscription =
  settings.value['transcription.selectedTranscriptionService'] === 'whispercpp' ||
  settings.value['transcription.selectedTranscriptionService'] === 'parakeet';

return isUsingNavigator && isUsingLocalTranscription && !isFFmpegInstalled;

示例:带有注释的清理检查

// From packages/epicenter/src/indexes/markdown/markdown-index.ts

/**
 * 这检查是否有一个旧文件名,并且它是否与新的不同。
 * 本质上是在检查:"文件名是否改变了?"和"我们需要清理旧文件吗?"
 */
const needsOldFileCleanup = oldFilename && oldFilename !== filename;
if (needsOldFileCleanup) {
  const oldFilePath = path.join(tableConfig.directory, oldFilename);
  await deleteMarkdownFile({ filePath: oldFilePath });
  tracking[table.name]!.deleteByFilename({ filename: oldFilename });
}