2014-10-22 78 views
0

這個問題適用於動態解釋代碼項目中的所有代碼路徑,我想檢查在寫一個腳本語言語法的正確性

詳細

說我有一組數據加工項目這取決於一個叫做tools的通用模塊。在發展的道路上,我發現我想改變tools中某個功能或方法的界面。

此接口更改可能不完全向後兼容,它可能會破壞我的數據處理項目的一個子集。

如果所涉及的所有軟件都需要編譯,我可以簡單地重新編譯所有內容,編譯器會指向我必須將調用代碼調整爲新簽名的位置。但是如何在解釋的情況下做到這一點?

TL; DR

一組腳本程序的依賴腳本模塊上。在以可能不是向後兼容的方式查看模塊的界面後,如何檢查相關程序並使其符合新界面?

+1

這就是爲什麼你應該寫測試。 – BroiSatse 2014-10-22 08:23:45

+0

我通常使用編譯器來測試語法的正確性。如何以系統的方式爲腳本語言做到這一點? – Sh4pe 2014-10-22 08:26:36

+1

在ruby中TDD是必備的。具有較高的測試覆蓋率可確保在運行測試套件時執行每一行代碼。在ruby中沒有編譯器,只有一個解析器只會引發缺少結尾,括號或類似的問題。由於解析器不可能說方法是否存在(因爲它可能還不存在,但將來會存在,甚至可能觸發method_missing邏輯),測試是唯一的方法。 – BroiSatse 2014-10-22 08:46:15

回答

1

最好的答案是'寫測試'。對於純粹的語法檢查而言,一些代碼是正確的,比如調用一個不存在的函數,如你所描述的,pylint可能是最好的工具。用pip install pylint安裝。