Coding style 班级成员应该被分类吗?

Coding style 班级成员应该被分类吗?,coding-style,development-environment,Coding Style,Development Environment,在有新团队的新项目中,我们是否应该强制在签入之前按照特定顺序(例如,通过修饰符和字母表)自动对类的成员进行排序 另一种方法是让每个开发人员按照自己的想法将成员分组。由于每个人对什么是相关的以及分组应该如何有不同的看法,这几乎可以归结为随机顺序 那么,让它们自动排序的利弊是什么呢?这是否绑定到特定的IDE/开发过程/构建过程/语言?我们还需要考虑什么? 编辑以获得更多答案: 我曾经在一个项目中,我们必须维护几个分支机构。由于RCS无法适当地支持这一点(当时是SVN),我们不得不手动将类和方法从一个

在有新团队的新项目中,我们是否应该强制在签入之前按照特定顺序(例如,通过修饰符和字母表)自动对类的成员进行排序

另一种方法是让每个开发人员按照自己的想法将成员分组。由于每个人对什么是相关的以及分组应该如何有不同的看法,这几乎可以归结为随机顺序

那么,让它们自动排序的利弊是什么呢?这是否绑定到特定的IDE/开发过程/构建过程/语言?我们还需要考虑什么?

编辑以获得更多答案:

我曾经在一个项目中,我们必须维护几个分支机构。由于RCS无法适当地支持这一点(当时是SVN),我们不得不手动将类和方法从一个分支移动到另一个分支,然后再合并回来(大多数RCS只能在一个方向上维护子集-超集关系)。因为这些方法可以以任何顺序出现在类中的任何位置,所以合并是一场噩梦。从一开始就对成员进行自动排序可以避免很多痛苦

另一方面,如果在一个长期存在的项目中工作,而没有自动排序顺序,那么强制执行该命令可能是一个坏主意。移动所有成员基本上等同于放弃到目前为止的版本控制,因为通过diff将文件与旧版本进行比较将不再是一件好事,原因与在其他项目中合并是一件痛苦的事情相同


如果重构到期,情况也是如此。当方法被重命名时,它们也将被移动,使得两个版本的差异实际上毫无意义。由于名称和位置不同,很难再次识别方法。

就我而言。。。我认为Access是通过访问级别来排序的。我遵循StyleCop规则(.net,但在任何其他语言中都有效)

公共
内部
内部保护
受保护的
私人的

静态
非静态

在这群人里面。。。我有一些随机性,但我总是把Id或唯一标识符放在第一位

我并不是说这是世界上最好的做法,但至少人们知道去哪里找东西


根据您选择的lenguaje和IDE,也许您会幸运地找到一个工具,根据您自己的偏好重新更改代码。(对我来说,这是一个很好的帮助)

对我来说。。。我认为Access是通过访问级别来排序的。我遵循StyleCop规则(.net,但在任何其他语言中都有效)

公共
内部
内部保护
受保护的
私人的

静态
非静态

在这群人里面。。。我有一些随机性,但我总是把Id或唯一标识符放在第一位

我并不是说这是世界上最好的做法,但至少人们知道去哪里找东西


根据您选择的lenguaje和IDE,也许您会幸运地找到一个工具,根据您自己的偏好重新更改代码。(Resharper,对我来说,这是一个很好的帮助)

鉴于您的IDE可以按您喜欢的方式对您的成员进行排序,我个人会避免在这一问题上采用全球公司政策

我认为为了规则而制定的规则是降低团队动力的一个重要因素。作为程序员,我们有一种特定的心态,一种看待世界的特定方式。许多程序员对实用性和实用主义的重视往往高于政策


如果只需快速点击几个菜单项,就可以在轮到您查看代码时让代码按照您希望的方式显示,我会坚持这几次点击。(为了您的方便,请将其转换为快捷键)

鉴于您的IDE可以按您喜欢的方式对您的成员进行排序,我个人会避免在这一问题上采用全球公司政策

我认为为了规则而制定的规则是降低团队动力的一个重要因素。作为程序员,我们有一种特定的心态,一种看待世界的特定方式。许多程序员对实用性和实用主义的重视往往高于政策


如果只需快速点击几个菜单项,就可以在轮到您查看代码时让代码按照您希望的方式显示,我会坚持这几次点击。(为了您的方便,请将其转换为快捷键)

我喜欢有一个一致的代码布局,但我从中学到了一个艰难的过程:任何只涉及“编码风格”主题的内容都会导致无休止的讨论,并会浪费大量时间。这不值得

更重要的是对其他主题(架构和设计、测试、如何沟通)做出决策

通常我倾向于假设相关的成员会随着时间的推移分组在一起。我看不出使用字母排序顺序有什么好处,因为IDE可以为我做到这一点


重命名、移动代码、删除绿色代码、添加注释,我不希望看到与其他更改混合在一起。这就是为什么我通常将其分为两个更改—一个是更新“代码布局/样式”,另一个是更改程序的行为。

我喜欢有一个一致的代码布局,但我学到了一个艰难的方法:任何只涉及“编码样式”主题的内容总是导致没完没了的讨论,可能会浪费很多时间。这不值得

更重要的是对其他主题(架构和设计、测试、如何沟通)做出决策

通常我倾向于假设相关的成员会随着时间的推移分组在一起。我看不出使用字母排序顺序有什么好处,因为IDE可以为我做到这一点


重命名、移动代码、删除绿色代码、添加注释,我不希望看到与其他更改混合在一起。这就是为什么我通常把它分成两个变化——一个是更新“代码布局/样式”,另一个是改变程序的行为。

< P>我考虑类成员的排序。