直接回答:可判定的输出不是“做一遍就懂”,而是先定一个能观察的结果,再写清判定条件、例外情况和记录方式。以“网页链接教程”为例,假设你读完一篇讲链接结构、锚文本和跳转路径的文章,想把它转成实操题,最稳的做法是要求学员交出一份“链接清单+判定表”,而不是交一篇感想。清单里每条链接都要能回答:它从哪里来、到哪里去、在什么条件下成立、什么条件下不成立。
很多实操题失败,是因为输出写成“完成链接检查”。这个说法无法判定,因为不同人对“完成”的理解不同。可判定的输出应当能落到具体对象上,例如:一份列出若干条链接的清单,每条包含来源位置、目标位置、可见文本、预期行为、实际行为五列。
假设情境:你手头有一篇网页链接教程,里面讲了三种链接写法。你让三个人各自按教程做一份清单。如果只要求“照着做”,三个人会交出三种格式,你无法比较。如果要求“每条链接写出预期行为和实际行为,并标出两者不一致的地方”,你就能看到谁真正理解了规则,谁只是复制了步骤。
这里有一个实际动作:把“完成检查”改成“提交判定表”。这个动作的结果会直接影响下一步——如果判定表里大部分条目预期与实际一致,说明题目可以进入下一轮;如果不一致集中在某一类链接上,说明教程里那一部分需要补例子,而不是让学员重做。
可判定不等于复杂。判定条件可以很短,但必须能被另一个人对照。例如:
这些条件的好处是,它们不依赖“我觉得写得对不对”。但要注意边界:如果教程本身没有规定可见文本的写法,那么“只能写点击这里记为不通过”就是出题人额外加的要求,需要在题面里写清。否则学员会认为自己在遵守教程,而你在用另一套标准判分。
另一个动作是:先让学员自己写出判定条件,再和你的条件对照。这个动作的结果能暴露一个常见问题——学员以为的“正确链接”和教程实际要求的“可判定链接”不是一回事。如果对照后发现分歧集中在“目标不存在时怎么算”,那下一步不是加题量,而是补一条关于例外情况的说明。
这是本篇最需要写清的边界。假设你只拿一个页面做示范,所有链接都指向站内,目标都存在,锚文本也清楚。这个样本下,判定表很好用。但当你把同一道题发给更多人,或者换成一个包含站外链接、跳转链接、动态生成链接的页面,例外就会出现。
例外通常来自三类原因:
处理办法不是把例外全部判错,而是把判定表分成两栏:可判定栏和待确认栏。可判定栏只放那些在给定条件下能稳定对照的条目;待确认栏记录例外和原因。这个动作的结果会改变下一步:如果待确认栏超过可判定栏,说明当前题目不适合规模化,应该先缩小范围,只保留一种链接类型,而不是继续增加样本。
还要说明一个容易误判的现象:如果某次检查中所有链接都返回正常,不能单独证明链接写法正确。正常返回还可能是因为目标恰好存在、网络恰好通畅、缓存恰好命中。反过来,如果某条链接返回异常,也不能单独证明写法错误。要区分“写法问题”和“环境问题”,至少需要换一个时间或换一个环境再观察一次。
可判定的输出最终要能回答“接下来改什么”。如果判定表显示,大部分不通过集中在可见文本,下一步就是补写可见文本的规则和例子;如果集中在目标不存在时的处理,下一步就是补例外说明;如果集中在格式不统一,下一步才是统一模板。
假设情境继续:三个人交回判定表后,你发现其中两个人把“目标不存在”直接判为不通过,一个人判为待确认。这个分歧说明题面没有写清例外条件。此时正确的动作是修改题面,而不是给那两个人扣分。修改后再发一轮,如果三人对同一类例外的判定趋于一致,题目才算可规模化。
最后记住一个取舍:可判定性越强,题目越适合比较和规模化;但判定条件越细,越可能把教程没要求的写法也判错。设置输出时,先问“这个结果能不能被另一个人对照”,再问“这个条件是不是教程本身要求的”。两个问题都答清楚,实操题才不会变成另一种形式的读后感。