The Chinese Translation Project of Programming in D.
这里是 《Programming in D》 的中文翻译项目。
Instead of falling for getting things done quickly, "Programming in D" focuses on getting things done properly, to the lasting benefit of its reader. -Andrei Alexandrescu
本书注重于如何恰到好处地使用D语言将任务处理得当,而非试图快速地完成一切却有失于代码质量,这使得它的读者能够长久受益。 ——大A
- 爱好群: 531010036
- 译者群: 54520002
保持与原版相同,本书使用 CC BY-NC-SA 3.0
许可,转载请注明地址。
- Seeking for more contributors 寻求更多有兴趣及时间的人参与到项目中来
本书源码为 Ddoc,相关编辑工具:
- 计算机辅助翻译工具 OmegaT,配置教程参见 Programming in D - OmegaT: Wiki
- 文本编辑器(vim、emacs、vscode……)
- 译者必须严格遵循 中文文案排版指北 中所述的排版规范。
- 所有翻译相关
commit
消息必须精确后缀文件名:~ 相应文件名
,应使用钩子来确保正确的提交信息格式和提交文件个数(参见Wiki
) - 释义差异一概以张雪平、谭丽娜的译著《D程序设计语言》为准
- 易于混淆的概念(例如
property
与attribute
)不译,只需在章节中首次出现时注明字面释义即可,示例:attribute(属性)
- .d 文件中符号
$(CH4,$(P,$(LI,$(CODE_NOTE,注释// ,/* */
中包含的内容需翻译;符号$(IX
中的内容只译非关键字部分 - 中文语句中,英文标点
,
.
:
等等应改为中文标点符号,
。
:
- 链接中
d.en
都需改为d.cn
- 为保证翻译风格一致约定了部分单词的中文翻译,参见
Wiki
- 在
Orphans 待领取
中选择自己心水的章节,发布Issue
以领取:[领取] 章节原名 By 领取人
Fork
,需翻译的文件(*.d
,*.cozum.d
)在ddili/src/ders/d.cn/
下- 进行翻译,参见上示注意事项、参考已译好的章节,
commit
消息格式:Update 中文修改原因
- 翻译完成,发起
Pull request
以通知审核人员进行审核:[审核] 章节原名 By 领取人
- 审核相关修正亦将
Pull request
到个人分支上,请注意查看,有疑议请就地comment
并 @审核人 做批注修改,审核Pull request
应用快进合并,参见Wiki
- 审核通过:
Merge
=> 更新 章节目录 =>Close Issue
=> 更新 本文件
- 编译 Compilation By Lucifer & meatatt
- 元组 Tuples By meatatt
- is 表达式 is Expression By meatatt
- 命名作用域 Name Scope By LinGo
- 从标准输入中读取数据 Reading from the Standard Input By Lucifer
- 前言 Preface(合并自:Acknowledgments,Introduction) By IceNature
- 文件 Files By IceNature
- if 语句 if Statement By IceNature
- auto 和 typeof auto and typeof By andot
- Object By 大处着手小处着眼
- 异常 Exceptions By xmdqvb
- scope By 大处着手小处着眼
- 类 Classes By 大处着手小处着眼
- 并行 Parallelism By IceNature
- 关联数组 Associative Arrays By 大处着手小处着眼
- do-while 循环 do-while Loop By mogu
- alias 与 with alias and with By mogu
- alias this By mogu
- 并发消息传递 Message Passing Concurrency By IceNature
- 字符串 Strings By 大处着手小处着眼
- 惰性运算符 Lazy Operators By mogu
- 左值与右值 Lvalues and Rvalues By mogu
- 三元运算符 ?: Ternary Operator ?: By IceNature
- 模板 Templates By meatatt
- 通用函数调用语法 Universal Function Call Syntax (UFCS) By mogu
- 属性 Properties By IceNature
- const ref 参数 and const 成员函数 const ref Parameters and const Member Functions By IceNature
- 格式化输出 Formatted Output By IceNature
- Pragmas By mogu
- Slices and Other Array Features By 大处着手小处着眼
- More Templates By meatatt
- Arrays By 大处着手小处着眼
- The Hello World Program By Lucifer
- writeln and write By Lucifer
- Fundamental Types By Lucifer
- Assignment and Order of Evaluation By Lucifer
- Variables By Lucifer
- Standard Input and Output Streams By Lucifer
- Lifetimes and Fundamental Operations By 渡世白玉
- Ranges By Lucifer
- while Loop By KimmyLeo
- Redirecting Standard Input and Output Streams By mogu
- Function Pointers, Delegates, and Lambdas By zhaopuming
- Modules and Libraries By 大处着手小处着眼
- Variable Number of Parameters By meatatt
- Conditional Compilation By IceNature
- Immutability By IceNature
- Type Conversions By IceNature
- Formatted Input By IceNature
- Foreword by Andrei Alexandrescu
- Logical Expressions
- Integers and Arithmetic Operations
- Floating Point Types
- Characters
- for Loop
- Literals
- foreach Loop
- switch and case
- enum
- Functions
- Value Types and Reference Types
- Function Parameters
- Program Environment
- assert and enforce
- Unit Testing
- Contract Programming
- The null Value and the is Operator
- Structs
- Function Overloading
- Member Functions
- Constructor and Other Special Functions
- Operator Overloading
- Inheritance
- Interfaces
- destroy and scoped
- Encapsulation and Protection Attributes
- Contract Programming for Structs and Classes
- Pointers
- Bit Operations
- foreach with Structs and Classes
- Nested Functions, Structs, and Classes
- Unions
- Labels and goto
- More Functions
- Mixins
- More Ranges
- Data Sharing Concurrency
- Fibers
- Memory Management
- User Defined Attributes (UDA)
- Operator Precedence