【问题标题】:Which code is preferable? [closed]哪个代码更可取? [关闭]
【发布时间】:2011-09-19 17:43:32
【问题描述】:

答:

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

乙:

ThreadStart threadStart = new ThreadStart(ListenForResponse);

Thread listeningThread = new Thread(threadStart);

listeningThread.IsBackground = true;

listeningThread.Start();

据我所知,它们在功能上是等效的。我只是想知道哪个是首选。您希望在项目中看到哪个?

【问题讨论】:

  • 实际上都不是。您应该只使用您和您的团队决定并让您开心的任何东西。
  • CodeReview 更好,因为问题的主观性。
  • 一劳永逸的线程通常不是一个好主意。

标签: c# code-formatting


【解决方案1】:

我更喜欢这个:

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

listeningThread.Start();

不过,这个问题很主观。

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

另一方面,为简单的案例明确地写出所有内容可能会冗长,并且会混淆正在发生的事情的含义。

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多