2017-08-15 51 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。 –