我有以下代码行:
Dim s As String = _wv.ExecuteJavascriptWithResult("document.links[" & i.ToString() & "].innerHtml;").ToString
现在我已经安装了DevExpress CodeRush,它告诉我我应该使用
Dim s As String = _wv.ExecuteJavascriptWithResult(String.Format("document.links[{0}].innerHTML;", i)).ToString
但是,我觉得String.Format版本的可读性低于第一行。
使用StringFormat时是否有任何指导原则? 我希望我的代码能够专业且易于阅读。
谢谢!
答案 0 :(得分:1)
我看着这一点,并说由于在一行中发生了太多事情,这是不可读的。
我通常更喜欢string.Format("{0}{1}...", x, y)
任何类型的显式连接,原因有两个:
String.Format
可能会隐式处理转化,具体取决于类型。 我将您的代码改为多行,如下所示:
Dim jsToExecute as String = String.Format("document.links[{0}].innerHTML;", i)
Dim jsResult = _wv.ExecuteJavascriptWithResult(jsToExecute)
Dim innerHtml as String = jsResult.ToString()
答案 1 :(得分:0)
我同意Jono的评论,认为它在一行中发生了太多的事情而且Gary的评论认为它只是不太可读,因为它不太熟悉。
因此,您应该熟悉这两种方法,但我认为您不应该让任何其他人根据“最佳实践”的声明来决定您正在做什么。无论如何,可读性是一个主观的东西。
我的个人规则是在有2个或更多项目时使用String.Format
。我也将此作为String
的扩展方法,因为这是我喜欢的方式。
不要接受任何人"最佳实践"除非你有充分的理由要遵守他们的规则。