【发布时间】:2023-04-02 21:25:01
【问题描述】:
最近的question about StyleCop 提醒我使用工具来强制编码风格。如果我在开发时被要求运行其中一个工具,我会感到非常恼火。人们真的觉得它们有用吗?为什么或为什么不?
到目前为止,所有回答过的人都表示他们认为样式/格式规则很有用,我 100% 同意这一点。但是使用工具来执行,而不是样式指南和定期的代码审查呢?人们发现这在实践中有用吗?为什么或为什么不?
【问题讨论】:
标签: coding-style
最近的question about StyleCop 提醒我使用工具来强制编码风格。如果我在开发时被要求运行其中一个工具,我会感到非常恼火。人们真的觉得它们有用吗?为什么或为什么不?
到目前为止,所有回答过的人都表示他们认为样式/格式规则很有用,我 100% 同意这一点。但是使用工具来执行,而不是样式指南和定期的代码审查呢?人们发现这在实践中有用吗?为什么或为什么不?
【问题讨论】:
标签: coding-style
是的,它非常有用 - 特别是在大型项目中。这意味着您可以访问任何其他人的代码,而且它对您来说并不陌生。这意味着人们在项目之间更便携,这为个人和公司提供了更大的灵活性。
缺点是可能会花费大量时间来争论使用哪种样式。
【讨论】:
编码风格和格式风格是有区别的。 编码风格强制执行良好实践。 'IF' 语句的主体必须包含在左大括号和右大括号中 格式样式是代码的外观。 其中“{”出现在“IF”语句中。
在团队环境中;
一个好的格式化工具将允许所有开发人员以他们希望查看代码的方式查看代码。 一个好的样式工具将确保所有代码都遵循相同的准则
【讨论】:
我喜欢 StyleCop 的概念,尽管我并不真正关心很多规则。风格是如此主观,以至于我发现自己很难坚定地决定它是否应该成为我们流程的一部分。不过,我真的更希望看到有统一风格的团队,这就是为什么我如此痛苦。
显然,等式的另一面,使用 FxCop(或其他 TFS 用户的代码分析)之类的工具更多地基于实践,因此决策变得比个人和风格更具技术性。
【讨论】:
如果 style 指的是 formatting(例如 '{' 必须在行尾或行首),这可能会很烦人,尤其是在涉及合并并且该样式是并非对所有开发者都严格执行。
如果风格指的是“good practice”(就像“if”语句的主体必须用大括号括起来),它实际上非常有用。
【讨论】:
我认为在大型团队中,统一的编码风格是必不可少的。制定一些标准有助于提高可维护性,因为可以让新的开发人员来维护旧代码,并且学习曲线最短。
至于强制样式差异(例如'{'来自哪里)可以很容易地通过自动化工具完成,而不会对开发过程施加太多影响。 Eclipse 和 Visual Studio 都有一组非常丰富的选项,可以根据大量选项自动格式化您的代码。
【讨论】:
对编程或格式化风格的限制可能有助于减少多人团队中的摩擦。
对语言功能的限制(尤其是仅使用 C# 的子集)可以帮助您专注于问题领域,而不必处理大量的概念。如果您的软件必须强大且易于理解,这一点很重要。
问候, 坦伯格
【讨论】:
如果您使用的是版本控制系统,如果每个开发人员在接触文件时根据自己的喜好重新格式化代码,就会变得非常难看。在开发人员没有必要的沟通技巧的地方,如果每个开发人员都被动地坚持“他的”标准,就会发生类似维基百科的编辑战。
总的来说,如果两个人处理同一个文件,手动重新格式化也会导致更多的签入冲突。
因此,如果您使用的是 VCS,我什至建议您强制执行格式化规则。强制执行样式规则可以提高代码质量。
【讨论】: