2017-08-15 54 views
0

我創建一個機器人將採取命令與!command開始那麼它將像pollhelp行動。這些行動將有更多的選擇,他們可以在數量上是可變的。 例如: !command poll create somepollurl 如果somepollurl被省略,它應該採用默認的url。 (以上只是一個邏輯可能有多複雜的例子。)替代的if else嵌套的命令行解析

目前我所擁有的代碼是嵌套太多,因此可讀性差,難以維護。這也可能導致惡意用戶可能利用的邏輯中的錯誤和意外的漏洞。

我想知道是否有更好的方法來處理這個問題,以便代碼更具可讀性和無錯誤。

回答

0

考慮使用庫而不是手動執行它。既然你沒有說你正在使用哪種語言,我不能推薦一個特定的圖書館,但任何人使用的語言都會有一個(也可能不止一個)。

+0

嘿,我正在使用nodejs。我無法想象一個能夠做我想做的事的圖書館。你能舉個例子嗎?任何語言都會做,如果不是節點js。至少我會明白 – rahulserver

+0

https://www.npmjs.com/package/command-line-args,https://www.npmjs.com/package/commander,https://www.npmjs.com/package/minimist,http://yargs.js.org/。可能還有更多。看看他們的文檔,看他們是否可以做你想做的事,然後選出一個你最喜歡的API。 –