移至主內容

您移動了一堂課,導致三處衝突

Editing & conflicts 閱讀需 1 分鐘

手動編輯已完成的課表容易導致隱蔽的錯誤,且這些問題往往要等到有人抱怨時才會被發現。

求解器為您產生了一份有效的課表。但現實隨之而來。

某位老師的週二行程變動了。一間教室要重新裝修兩週。兩名學生更換了選修課,現在一組四人的課程必須調整。這些情況都不值得重新進行運算——您很清楚需要做什麼,而且這只是一堂課的變動。

於是您移動了它。就在那一刻,課表不再經過驗證。

為什麼重新運算不是正確的工具

您可以回到 FET,更改時間限制,然後再次執行。有時這樣做是正確的。但通常不是,原因與軟體無關:求解器有權移動其他所有課程。

您得到了一份有效的課表,但那不是您的課表。您在與語言科主任進行三次溝通後達成的精心安排消失了,取而代之的是一份同樣有效但完全陌生的課表。現在您需要重新通知四十位老師,不是因為他們的週行程必須改變,而是因為您移動了一堂課。

所以人們選擇手動編輯。這是正確的直覺。但這也是完全沒有防護的——在試算表或列印出的紙本上,沒有任何東西會告訴您剛剛破壞了什麼。

一次移動,三處損壞

將一堂課移動到週四第 3 節,您就默默地斷定了四件事:老師當時有空、教室當時可用、該學生組當時有空,且該週的其他安排都不依賴於它原本的位置。

漏掉其中任何一點,課表就會出錯,而且這種錯誤直到當天才會顯現,屆時兩個班級會同時抵達同一個門口。

這就是手動編輯的風險所在:不是因為容易犯錯,而是因為這些錯誤是無聲的。列印出的紙本上不會有任何標示變紅。

所以請邊做邊檢查,而不是最後才檢查

網格會在您工作時進行檢查。發生衝突的課程會在課表方塊本身帶有一個標記,因此問題會直接顯示在問題所在之處——而不是存放在您必須記得去打開的報告中。

當您想要查看整體情況時,衝突報告會以您實際調查的方式進行細分:按教室、按老師、按學生組。

8 real issues: 3 room / 2 teacher / 3 group
8 個實際問題:3 間教室 / 2 位老師 / 3 個學生組

它還會區分問題的類型,這比聽起來更重要:

無法在真實的學校生活中維持運作。

報告是在告訴您發生了什麼,而不是說您錯了。

您記錄的容量,這是填寫它們的一個好理由。

  • 教室衝突 — 兩堂課、一間教室、同一時間。明確無誤。
  • 缺少教室 — 不完全是衝突,但課程沒有地方可以進行。
  • 教室不在首選列表中 — 您可能是有意為之。
  • 教室太小 — 容量低於班級人數。⚠ 僅在您記錄的容量準確時才可靠。

第三點是工具在實際應用中才會顯露的特徵。並非每一次偏差都是錯誤,如果對刻意的決定大驚小怪,就會被忽略——包括在它確實正確的那一天。

當沒有什麼需要報告時,它會清楚地說明,而不是顯示一個空白列表。

鎖定不可移動的項目

有些事情是沒有商量餘地的。共用的接駁車時段。客座講師的週三行程。您已經通知過兩百位家長的課程。

Physical Education · Gymnasium · Thursday 09:20 carries the dashed lock border among normal pills
體育 · 體育館 · 週四 09:20 在普通方塊中帶有虛線鎖定邊框

這些可以被鎖定,那麼答案在錯誤發生之前就是「不行」,而不是事後的警告。當錯誤的代價是一封寄給家長的信時,預防勝於檢測。

提交前請檢查

另一半是三思而後行。飛行前檢查會讀取整份課表並報告哪些部分無法運作,因此您可以在螢幕上發現問題,而不是在求解器運算結束後才發現——而且是在週二到來之前很久。

92 provable problems, 92 blocking / 0 to tidy / 0 notes, Blocking = certain, not a guess, and ten real seat_impossible findings in plain English
92 個可證實的問題,92 個阻礙 / 0 個待整理 / 0 則註釋,阻礙 = 確定,而非猜測,以及十個以簡單英語呈現的實際「無法安排座位」結果

編輯不是風險。未經驗證的編輯才是。

手動修復一堂課的直覺是正確的,這也是真實學校週行程所要求的。為了修復單一變動而重新運算,會讓您失去原本協調好的課表。

缺少的不是編輯的權限。而是您在編輯時,能有第二雙眼睛幫您把關。

移動一堂課並觀察它的檢查過程 →