gpt4 book ai didi

d - 有效D : best practices and design patterns

转载 作者:行者123 更新时间:2023-12-04 01:09:30 27 4
gpt4 key购买 nike

关于 D-Specific Design Patterns 举行了一场非常有趣的 session 。在 D 社区,有些人认为这可能是 book 的起点。处理有效的编码技术。其他人则认为现在还为时过早,因为没有多少人拥有
丰富的经验,这样一本书的作者会对有效性的概念有一些偏见/个人理解。 SO 是一种更具交互性的媒体(有其局限性)。因此,等待“Effective D”的出现,如果我们能分享一些(致命的)建议/技术/模式以使 D 代码看起来更好,那就太好了。我认为如果答案会更清楚:

  • 揭秘绝技
  • 本质上是一段注释代码
  • (如果太大)只是代码的链接(公共(public)要点...)
  • 最佳答案

    我的 blog 上有一些 D Tip 帖子(123)。

    这是一个:Testing With TypeTuple

    在测试一个函数时,使用一系列不同的输入来测试它通常是一个好主意。为此,您可以轻松地在输入值数组上使用 for 循环,但是如果您的输入是一个类型(通常是模板代码)怎么办?

    D 编程语言允许你迭代一个 TypeTuple,所以你需要做的就是声明一个你想要测试的所有类型的元组,并以正常的方式迭代它们:

    import std.typetuple;
    alias TypeTuple!(int, long, double) Types;
    foreach (T; Types)
    test!T();

    你可能想知道这编译成什么。毕竟,循环的主体随着 T 而变化,因此生成的代码也必须在每次迭代中发生变化。编译器如何处理这个?

    答案是循环完全展开。上面的代码实际上与以下代码相同:
    test!int();
    test!long();
    test!double();

    出于这个原因,您可能需要注意 TypeTuples 的大小,以避免代码膨胀。

    关于d - 有效D : best practices and design patterns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127251/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com