跳转到内容

D 语言入门指南/风格指南

来自维基教科书,自由的教科书


大胆尝试

[编辑 | 编辑源代码]

不要害怕做出改变。如果某些内容表达不佳,请直接修改。如果只需要进行微调,请直接修正。不要让任何低于此内容的东西阻止你。

但是,如果你想要撰写或编辑完整的页面,请继续阅读。

本书分为章节和子章节。章节通常指的是一般主题,其子章节则指的是具体主题。章节编号,但编号约定仅用于目录:不应假设这些数字是静态的。

每个章节都有自己的页面(子章节没有),每个章节都有一个页面,它仅仅是对概念的介绍,以及该章节的目录。请注意,这意味着目录需要在两个位置维护(首页和每个章节)。

目录中的章节名称应该以其将要教授的概念命名,而不是构造。也就是说,例如,一个章节不应该被命名为“if 条件语句”,而应该被命名为“条件和分支”。在实现一个章节时,请为它起一个概念性的名称;如果它不是概念性的,不要保留目录中的名称。标题应首字母大写,但标题中的 D 关键字不应首字母大写。

在撰写页面时,使用模板来显示它是一个存根。如果你仍然在积极地撰写它,请使用此模板


否则,请使用章节存根


或子章节存根

{{sectstub}}

根据需要。

任何章节都不应该依赖于后面章节中教授的概念。这应该非常明显。

完全可以引用未来的概念,只要你实际上并不依赖于它们的学习。

新的术语应该用斜体表示,变量名称用'单引号'表示,代码片段、关键字或符号用等宽字体表示。避免使用第一人称(即“我”、“我”、“我的”等)和第二人称(即“你”、“你的”等)。

随意使用比喻来描述概念,只是要注意不要将它们超出其界限。

  • 大多数章节应该包含一个或多个示例代码部分,无论它们多么琐碎。
  • 本书是关于D语言,而不是Phobos,所以请在示例中只使用dindout。Phobos和其他流行库的描述将包含在附录中。
  • 尽量使每个示例,在适当的情况下,成为一个完整的应用程序,以便它包含一个main()函数,并且可以在一步内编译和运行。
  • 本书中的代码部分必须使用以下编码约定
int fun(int a, bool b, float c) // spaces between function parameters
{
    // opening brace goes on its own line
    if (before) // conditionals, loops, etc... have a space before their arguments
    {
        // this brace style in functions, conditionals, and declarations
    }
    else
    {
        class Foo : Bar
        {
        }
    }
    
    // four spaces (no tabs) for indentation and alignment

    // empty lines may or may not have spaces

    int sample = 2 + 3; // space between operators and their operands
                        // no space before final ';'
    sample++;   // Except that there is no space between unary operator
                // and its operand.
    --sample;
     
    xyzzy(sample, 3.1472); // no space between function call and param list
    
    while (a.very.long.line.is.being.forced && to.wrap || or.look.very.ugly +
           it.will.wrap.at.column - 80)
    {
    }
}
void main()
{
    fun(42, true, 99.94);
}

控制台输入/输出

[编辑 | 编辑源代码]

示例控制台输出应该以粗体、等宽的块显示。换行应该像代码示例一样在第 80 列处进行。示例输入应该以粗体斜体显示。例如

This is an example of console output. It wraps at column 80. Lorem ipsum dolor 
sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut 
labore et dolore magna aliqua.

Enter user name: example
Enter password: ****

复杂度

[编辑 | 编辑源代码]

请记住,这是一本 D 语言入门指南。所以

  • 不要纠结于规则的奇怪例外。如果必须提到它们,就提到它们,但不要让读者感到困惑,因为他们可能对编程一无所知。
  • 如果你发现自己需要参考后面的章节来解释当前章节,那么目录就需要改变——每个章节都应该只依赖于它之前的章节。

过渡用户

[编辑 | 编辑源代码]

(本节中提出的规则尚未正式接受)

为了使本书可供经验丰富的程序员使用,提供了一些模板来显示某些内容对于某些用户来说是冗余的。这些模板是

{{A Beginner's Guide to D/Skim X}}


{{A Beginner's Guide to D/Skim J}}


{{A Beginner's Guide to D/Skim CX}}


{{A Beginner's Guide to D/Skim XJ}}


{{A Beginner's Guide to D/Skim CXJ}}


这些模板应该位于节的顶部,紧接在署名之后,或者如果节的其余部分不适用,则位于小节的顶部。

华夏公益教科书