指引
這份文件提供實作分析器時的指引。
一般事項
- 分析所有提交的檔案,但 tests、invalidator、editor、example、exemplar 檔案除外。
- 不要以 100% 的正確性為目標,這幾乎不可能達成。就算分析器找不到所有問題,或無法推斷某些標籤,也沒關係。
編譯
如果你的語言需要編譯步驟,可以考慮以下幾點:
- 編譯解答通常能達到更高的準確度。例如,任何值確切的型別,只有在編譯之後才會知道。但也要留意其中的取捨(例如執行速度較慢、記憶體用量較高)。
- 考慮使用記憶體內編譯(如果可行的話),以提升效能。
測試
- 建立一份詳盡的測試套件。
- 用黃金測試來驗證分析器的行為。這些測試應該使用屆時要部署的 Docker 映像檔來驗證分析器。
- 考慮為每種解題方式都撰寫測試。你會希望分析器能好好處理這些解答,而這也有助於日後為各種解題方式指派標籤。