哪个代码更可取
本文关键字:代码 | 更新日期: 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的看法是它的炫耀代码。你这样做是为了展示你可以做一个操作有多短,但它的可重用性很低,需要你更好地理解调用的结构。
我的看法:假设你的代码将被其他人使用,并假设他们需要所有能得到的帮助。选择可读性最强且不牺牲效率的解决方案。