哪个代码更可取?

时间:2011-09-19 17:43:33

标签: c# code-formatting

new Thread(new ThreadStart(ListenForResponse)) { IsBackground = true }.Start();

B:

ThreadStart threadStart = new ThreadStart(ListenForResponse);

Thread listeningThread = new Thread(threadStart);

listeningThread.IsBackground = true;

listeningThread.Start();

据我所知,它们在功能上是等同的。我只是想知道哪个更受欢迎。你宁愿在项目中看到哪一个?

2 个答案:

答案 0 :(得分:1)

我更喜欢这个:

Thread listeningThread = new Thread(new ThreadStart(ListenForResponse))
{
    IsBackground = true
}

listeningThread.Start();

但这个问题很主观。

如果您在各种对象上设置更多参数,则单行版本开始变得难以阅读。

另一方面,为简单的案例明确写出所有内容可能是罗嗦的,并且混乱了正在发生的事情的意义。

此外,个人的烦恼是在行的末尾放置一个函数调用waaay,很难看到,就像你的第一个例子。 即使您想使用该语法,我也希望在自己的行上看到.Start()

答案 1 :(得分:0)

我个人更喜欢选择B.它更具可读性。每个步骤都是逻辑布局的,您只需单步执行即可了解所发生的情况。

我对A的看法是它的炫耀代码。你这样做是为了表明你可以做多短的操作,但它的可重用性非常低,需要你更好地理解调用的结构。

我的意见: 假设您的代码将被其他人使用,并假设他们需要所有可以获得的帮助。选择最不易牺牲效率的解决方案。