哪个代码更可取

本文关键字:代码 | 更新日期: 2023-09-27 18:08:57

A:

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()自己的行中看到它。

我个人更喜欢选择B。它可读性更强。每一步都是有逻辑的,你可以通过简单的步骤来了解正在发生的事情

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

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