跳到正文

Preparation

基础准备

零基础和初级学习者先建立能运行、解释、修改与检查一个小项目的能力,再进入FDE实现实训。

第一项任务:不用安装也能开始

工单是一次故障请求。标题是输入,状态是当前处理阶段,函数按规则接受或拒绝输入。先在下面提交“供电故障”,再提交空白标题,最后选择不允许的状态,观察三个不同结果。这里只处理本页输入,不保存或发送任何内容。

按钮不可用时,说明交互脚本尚未就绪;可直接阅读下方规则和参考解释,或下载本地练习。输入不会提交到服务器。

理解规则,再到本地运行

function acceptTicket(title, state) {
  if (!title.trim()) return "rejected: empty title";
  if (!["new", "confirmed"].includes(state)) return "rejected: state";
  return "accepted";
}

trim去掉前后空白;if在条件满足时提前返回;列表限定允许状态。独立练习:输入只有空格时会发生什么?为什么“已接受”不能代表“已修好”?先写理由,再展开答案。

查看参考解释

空格经trim后为空,因此拒绝。接受只完成输入校验,维修完成需要维修员执行、确认结果及后续状态记录。把校验通过当作业务完成,会遗漏责任与验收。

本地操作指南

  1. 建立一个独立练习文件夹,例如fde-lab。下载练习文件并保存到该文件夹,保留扩展名.mjs,不要保存成.txt。 下载ticket-lab.mjs
  2. 如未安装Node,从官方页面选择适合系统的安装包。打开终端(macOS终端或Windows PowerShell),运行node --version,应显示v22或更高。command not found表示尚未安装或终端未重开。 Node官方下载
  3. 进入练习文件夹:终端中输入cd和空格,再填入文件夹的完整路径;含空格的路径用双引号包住。例如cd "/你的路径/fde-lab",把示例路径替换成实际路径。
  4. node ticket-lab.mjs baseline — 应有unknown和secret两项FAIL,这是故意给出的错误示范。找不到文件时核对当前文件夹和扩展名;不要删除失败用例。
  5. node ticket-lab.mjs candidate — 五项PASS是修正示范。打开文件对比两个函数,记录为何改动;之后在实现模块自行修复副本。无需npm install或任何密钥。
  6. 版本管理入门:先复制ticket-lab.mjs为my-ticket-lab.mjs,用文本编辑器保存为纯文本并保留.mjs扩展名;在修复前于练习文件夹运行git init、git add my-ticket-lab.mjs和git commit -m "save baseline",保存未修复基线。完成实现模块中的修复后,用git status和git diff查看修复前后的差异,再运行git add my-ticket-lab.mjs、git commit -m "repair ticket rules"和git show复核本次修复。首次基线提交显示整个新增文件,不是修复差异。Git未安装或身份未配置时先保存原文件与修复副本,记录缺项;不执行reset或删除恢复。

可以先完成本页规则体验和角色、定界练习;真正进入工程实现仍需本地运行能力。遇到错误时记录命令、版本与错误原文,先用模块参考排查,再通过课程交流描述卡点。基础准备是第一步,不是一份完整编程学历课程。

四项入门练习

  1. 01

    编程基础

    用熟悉的语言写一个工单列表:输入标题和状态,拒绝空标题,只允许约定状态。解释数据结构、条件判断和函数。

  2. 02

    项目与运行

    在自己的练习目录运行项目,记录运行命令、所需版本和输入输出。区分本地练习、测试环境和生产环境。

  3. 03

    版本管理

    在自己的练习仓库记录一次修改,阅读差异并创建提交。解释提交保存什么、未提交内容有哪些;恢复前先保护工作。

  4. 04

    检查与失败

    为有效工单、空标题、非法状态写检查。制造一个可控的输入错误,解释失败原因并修正,不通过删除检查获得通过。

进入实现模块前的自检

尚未达标可以先学习角色与客户定界,继续补基础;请同伴复核练习后再进入实现模块。本站提供准备任务,不替代完整编程基础课程或自动能力认证。