Skip to content
Peter Wang edited this page May 5, 2018 · 40 revisions

文字稿书写规范

本篇展示 haoqicat.com 上的课程的文字稿的内容组织安排,书写规范。另外总结了一个小节写作模板:script-template

选材

  • 不求全面,求实用
    • 每个概念都通过实际代码讲解,没个代码案例都是实际中我自己天天用的代码,或者是实际代码的简化版,
    • 我自己不用的概念,不讲

一个课程就是一个故事

讲述一个精美的案例是怎么一步步做出来的。整个故事就是以动手为主线的,不要以理论为主线。如果有理论知识的讲解要穿插到动手过程中。

  • 课程标题醒目清晰,例如《React&Redux 搭建一个论坛》。
    • 注意,一定要是做一个什么东西,而不是讲一个什么知识
  • 课程分多关
  • 每一关,拆分成多个任务
  • 每一关相当于一节,取消章的概念
  • 除了促成基本的承接分块逻辑之外,基本不要套话。
  • 总结性的,概述性的内容,可以很精彩,但是我不要

一些正在尝试的策略

步步为营

操作失误是最浪费时间的事情。所以尽量做到每次的内容就控制在二十到四十秒,而且过程是完全可以回滚重来的。起码在这二十秒内要能保证自然。

写文字稿的时候注意把步骤分好,每一步做出一个 commit 。我讲的时候,脑子中就完全想着这一步,努力自然流露。而下一步和这一步承接好不好,完全由文字稿来负责。

口语化文稿

目前总结的各种思路都没有问题。不过语言风格还需要更口语化,让我再讲的时候能形成环环相扣的气场。

能否把一切都写入 Git ?

[git-try][https://github.com/happypeter/a-haoqicat/wiki/git-try]

临时视频规范

  • 采用我的 MBP pro15inch 机器,display -> 选择最大字体
  • screenflow 导出的时候按 50% 导出,这样最终尺寸是 1024x640
  • 最大限度的考虑到了对手机友好,同时视频小,加载也快
  • 使用 Yeti 话筒
  • 视频中不允许读错字
  • 语气中要有 cheerful 元素

缩时策略

  • 根据一个小节不超过十分钟原则,为了控制小节时间,同时也为了突出内容主线,可以对内容进行略讲
  • 快进缩时可以,但是同时旁白不能停

稿件生成步骤

以前效率低,不是没有步骤而是,一步没有完成,就进入下一步,导致改来改去。所以下面的步骤一定是做过一步,前面尽量不改,这样才有效率。

  • 定题:例如《跟 Peter 做腾讯云客户端》。
  • 代码实现:代码不能在录的时候改来改去,浪费最多的事件就在这一块。其实如果定题有充分自信了,代码就可以 100% 敲定。跟后续的文字稿该怎么写,课该怎么讲,完全没关系。
  • 参考资料整理:代码实现过程中,肯定伴随着查阅并记录资料。资料内容要紧跟代码,或者写到代码的注释部分,或者写到 github.com 代码评论中。不太适合写到 wiki 中,或者小节文本中,后续要调整的工作量很大。
  • 章节划分:先写每一节的中心句。然后根据中心句,代码重新做一遍历史,每个 commit 对应一节内容。不考虑小节内部讲解逻辑。
  • 小节讲解:再做一遍历史,把上面的一个 commit 拆分成10个左右的 commit ,同时把小节中每一部分的文字稿写完。
  • 文字稿中代码全部以 diff 形式提供。便于以后用自动化手段处理。

后续考虑用程序的方式生成课程。

录制技巧点滴

  • 介绍视频

    • Hi,你好我是 Peter 。欢迎来到《XXX》课程。先来介绍一下课程中都用到了哪些技术,然后介绍一下都做出哪些功能。
    • 先看用到的技术(使用 keynote 展示各个技术图标)
      • 第一个,XXX ,一句话夸一下
      • 第二个...
    • 再看都做出啦哪些功能点
      • 第一个,XXX 。复现演示
      • 第二个...
    • 好介绍就到这里,让咱俩一起携手,过关打怪,完成这个项目吧。
  • 一关如何拆分成多个任务

    • 每个任务都要有 deliverable ,也就是一个完整的,functional 的东西
    • 这个需要有一定的劳动量,因为原本分到这一关的代码,整个就一个 deliverable ,本身不可拆
    • 所以为了避免每一部分过大,就要自己强行拆开,通过对一些地方添加 placeholder 的形式来实现
    • 每一任务不太大,这样观众才能听得懂,每一任务都有 diliverable ,这样思路才能真正清晰。
  • 每个任务内分多幕

    • 画面显示的是命令行操作/UI演示/代码操作
    • 下面跟一个自然段,是这个操作的旁白。
    • 开始动手,操作,或者写代码
    • 每个任务就是一步,录制时候分多幕完成。
    • 每个任务的最后是复现本任务的劳动成果。

FAQ

  • 问:为何不能联想展开?
    • 联想出来的内容有时候很精彩,但是也有时候容易带跑题。本着节省时间提高产出的原则,内容一概不许发散联想。
  • 问:一部分内容一定要是做一个东西么?不能是讲一个知识点么?
    • 不能。我们这里做的是动手教程。要讲知识点,只能在动手完成后对本步骤略作解释,然后给出参考资料。不允许展开讲。
  • 问:能不用书面语的一些格式?例如“注意”,引用格式等等
    • 不能。因为咱们这里写的不是书稿,而是台词。
  • 问:代码只能是 diff 格式?
  • 问:什么样的内容能够构成一节视频?
    • 简单回答:一个特定问题的最佳解决方案。不扯别的,什么替代方案啊,你也应该了解呀什么的。那这个特定问题可以是基础问题,比如 react 基础环境怎么搭建,css 使用策略是什么,也可以是大项目中具体一步的解决方案,比如 登录,授权,这些功能用什么方案是最佳的。