C# 您是否有关于一套编码标准或最佳实践的好建议/链接可供遵循?
对于我们这些已经编写了足够多程序的人来说,我相信我们遇到了许多不同风格的编码标准,在编程时可以使用这些标准 e、 g 您可以为您当前工作的公司或您正在工作的代码的原始作者派生您的编码标准。编码样式通常用于特定的程序语言,一种编码语言中的某些样式可能不适合其他语言。当然,一些编码标准可以应用于许多不同的程序语言 谢谢你抽出时间 编辑:正如我们所知,有很多关于这个主题的相关文章,但在SO中有一些非常有用的链接,值得一看。(查看.NET/C上的2个链接#ESV指南-接受答案)C# 您是否有关于一套编码标准或最佳实践的好建议/链接可供遵循?,c#,.net,c++,coding-style,C#,.net,C++,Coding Style,对于我们这些已经编写了足够多程序的人来说,我相信我们遇到了许多不同风格的编码标准,在编程时可以使用这些标准 e、 g 您可以为您当前工作的公司或您正在工作的代码的原始作者派生您的编码标准。编码样式通常用于特定的程序语言,一种编码语言中的某些样式可能不适合其他语言。当然,一些编码标准可以应用于许多不同的程序语言 谢谢你抽出时间 编辑:正如我们所知,有很多关于这个主题的相关文章,但在SO中有一些非常有用的链接,值得一看。(查看.NET/C上的2个链接#ESV指南-接受答案) 如果你在继续使用
除此之外,从众多建议中选择一个,并尽可能长时间地坚持下去,按照您习惯的单一标准构建代码库。对于C#我建议。编码标准很好,但公司从头编写的编码标准重新发明了轮子,或者由一个“预言家”强加的编码标准,可能比根本没有编码标准更糟糕 这意味着:
- 应讨论并商定编码标准
- 编码标准文件应包括每个规则背后的原因
- 编码标准应至少部分基于可靠来源
- 对于C++:Sutter/Alexandrescu的书
- 对于C#:4或5 PDF,我在谷歌上搜索C#编码标准:)
- 对于Java和其他C族语言,我推荐(当然,因为它们是我的)
一般来说,保持它们的简单性,并为每个需求提供示例和理由。如果您计划向现有编程团队引入代码格式标准,请从团队的每个成员处获取输入,以便他们能够“接受”,并更有可能按照该标准编写代码
编程风格和习惯一样难以改变,你必须接受这样一个事实:有些人不会让他们的代码100%兼容。花时间寻找(或编写自己的)漂亮的打印机程序并定期运行所有代码以增强一致性是值得的。(当手动检查源代码更改时,我总是感到不安,因为这些更改只包括对其他人代码的格式更正;我担心其他人会把我贴上挑剔的标签。)标准中的内容其实并不重要。重要的是你有一个,你的开发人员也遵循它。它并没有完全回答这个问题,但值得一提 我读书。虽然它没有给你一套预先准备好的编码标准,但它确实为各种方法提供了很多很好的论据。它会让你想起以前没有想到的事情
它让我的小世界变得更好。这里的答案非常完整,因此我不会指向另一个编码标准文档。然而,一旦您决定坚持一种风格,您就应该在整个团队中使用自动化编码风格实施器 对于Java来说,有和.NET
这里是关于StAcExpRoo:
的一个类似的讨论,对谷歌的C++指导方针的帖子提出了一些评论。有关这些指南某些方面的详细讨论,请参阅
一些奇怪或有争议的观点包括: 我们不相信我们的产品是可用的 例外情况的替代方案,例如 错误代码和断言,介绍 沉重的负担 好像断言是一个可行的选择。。。断言通常用于编程错误和不应该发生的情况,而异常可能在执行流中发生(在某种程度上是预期的) 引用参数:所有参数 “按引用传递”必须标记为 康斯特。。。事实上,它是一个非常强大的 输入参数为 值或常量引用,而 输出参数是指针 无可奉告,关于黄鼠狼的说法是一个非常强烈的惯例 在施工人员中工作:只做 一个系统中的简单初始化 构造器。如果可能,使用 非平凡函数的Init()方法 初始化。 ... 如果你的目标 需要非平凡的初始化, 考虑有一个显式的In() 方法和/或添加成员标志 指示该对象是否为 已成功初始化 是的。。。2阶段初始化使事情更简单。。。如果我有const
字段怎么办?这条规则可能是对例外情况的态度的结果
仅将流用于日志记录
哪些溪流?IOStreams,