C# 哪种代码更可取?

C# 哪种代码更可取?,c#,code-formatting,C#,Code Formatting,A: ThreadStart threadStart = new ThreadStart(ListenForResponse); Thread listeningThread = new Thread(threadStart); listeningThread.IsBackground = true; listeningThread.Start(); new-Thread(new-ThreadStart(ListenForResponse)){IsBackground=true}.Sta

A:

ThreadStart threadStart = new ThreadStart(ListenForResponse);

Thread listeningThread = new Thread(threadStart);

listeningThread.IsBackground = true;

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

B:

ThreadStart threadStart = new ThreadStart(ListenForResponse);

Thread listeningThread = new Thread(threadStart);

listeningThread.IsBackground = true;

listeningThread.Start();
据我所知,它们在功能上是等价的。我只是想知道谁更喜欢。你希望在项目中看到哪一个?

我更喜欢这样:

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

listeningThread.Start();
不过,这个问题相当主观

如果要在各种对象上设置更多参数,则单行程序版本开始变得难以读取

另一方面,为一个简单的案例明确地写下所有的内容可能会很冗长,并且会把正在发生的事情的含义弄得杂乱无章

另外,一个令人恼怒的人把一个函数调用waaay放在了行的末尾,在这里很难看到,就像你的第一个例子一样。 即使您想使用该语法,我还是希望在自己的行中看到
.Start()

我更喜欢这样:

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

listeningThread.Start();
不过,这个问题相当主观

如果要在各种对象上设置更多参数,则单行程序版本开始变得难以读取

另一方面,为一个简单的案例明确地写下所有的内容可能会很冗长,并且会把正在发生的事情的含义弄得杂乱无章

另外,一个令人恼怒的人把一个函数调用waaay放在了行的末尾,在这里很难看到,就像你的第一个例子一样。
即使您想使用这种语法,我还是希望看到
.Start()
在自己的行中。

我个人更喜欢选择B。它更具可读性。每一步都是合乎逻辑的,你只需一步一步地走下去就可以了解发生了什么

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

我的意见是:
假设你的代码将被其他人使用,并假设他们需要所有能得到的帮助。选择不牺牲效率的最具可读性的解决方案。

我个人更喜欢选择B。它更具可读性。每一步都是合乎逻辑的,你只需一步一步地走下去就可以了解发生了什么

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

我的意见是:
假设你的代码将被其他人使用,并假设他们需要所有能得到的帮助。选择不牺牲效率的最具可读性的解决方案。

事实上,两者都不是。你应该使用你和你的团队决定的任何东西,让你高兴。CodeReview更好,因为问题的主观性。Fire-and-forget线程通常不是一个好主意。实际上,两者都不是。你应该使用你和你的团队决定的任何东西,让你高兴。CodeReview更好,因为问题的主观性。Fire-and-forget线程通常不是一个好主意。