您移动了一节课,导致三处冲突
手动编辑已排好的课表往往会导致隐蔽的错误,直到有人投诉时问题才会显现。

求解器为您生成了一份有效的课表。但现实情况随之而来。
某位老师的周二安排变了。一间教室要重新装修两周。两名学生调换了选修课,现在一组四节课必须移动。这些情况都不值得重新运行求解器——您非常清楚需要发生什么,而且这只是一节课的变动。
于是您移动了它。而就在那一刻,课表不再经过验证。
为什么重新求解不是合适的工具
您可以回到 FET,更改约束条件,然后再次运行。有时这样做是正确的。但通常不是,原因与软件无关:求解器有权移动其他所有内容。
您得到了一份有效的课表,但那不是您的课表。您在与语言组负责人进行三次沟通后达成的精心安排消失了,取而代之的是一份同样有效但完全陌生的课表。现在,四十位老师需要重新通知,不是因为他们的周课表必须改变,而是因为您移动了一节课。
所以人们选择手动编辑。这是正确的直觉。但这也是完全没有保障的——在电子表格或打印件中,没有任何东西会告诉您刚刚破坏了什么。
一次移动,三处冲突
将一节课移动到周四第 3 节,您就默认了四件事:老师那时有空,教室那时空闲,该学生组那时有空,并且这一周的其他安排都不依赖于它原来的位置。
漏掉其中任何一点,课表就会以一种直到当天才会显现的方式出错——届时两个班级会同时到达同一个门口。
这就是手动编辑的风险所在:不是因为容易出错,而是因为错误是静默的。打印件上没有任何地方会变红。
所以请边操作边检查,而不是最后才检查
网格会在您工作时进行检查。涉及冲突的课程会在其方块上显示一个标记,因此问题在发生的地方就能被看到——而不是归档在您必须记得打开的报告中。
当您确实需要全局概览时,冲突报告会按照您实际调查的方式进行细分:按教室、按老师、按学生组。

它还会区分问题的类型,这一点比听起来更重要:
无法在真实的学校日常中维持。
报告是在告诉您发生了什么,而不是说您错了。
您记录的容量,这是填写它们的一个充分理由。
- 教室冲突 — 两节课,一间教室,同一时间。明确无误。
- 缺少教室 — 严格来说不是冲突,但一节课没有地方上。
- 教室超出首选列表 — 您可能是有意这样决定的。
- 教室太小 — 容量低于班级人数。⚠ 仅在您记录的容量准确时才可靠。
第三点是该工具在实际应用中体现出的特征。并非每一次偏差都是错误,如果对有意为之的决定发出虚假警报,就会被忽略——包括在它正确的那一天。
当没有需要报告的内容时,它会清楚地说明,而不是显示一个空列表。
锁定不可移动的内容
有些事情是不可商量的。共享的小巴时间段。外聘讲师的周三。您已经通知了二百位家长的课程。

这些可以被锁定,这样答案在错误发生之前就是“不行”,而不是事后的警告。当错误的代价是一封致家长的信时,预防胜于检测。
提交前进行检查
另一半工作是三思而后行。飞行前检查会读取整个课表并报告哪些行不通,这样您在屏幕上就能发现问题,而不是在求解器运行结束时——而且远在周二到来之前。

编辑不是风险。未经核实的编辑才是。
手动修复一节课的直觉是正确的,这也是真实的学校周课表所要求的。为了修复单一变动而重新求解,会使您失去之前协商好的课表。
缺失的不是编辑的权限。而是您在操作时的一双“监视”眼睛。