Language agnostic 如何组织代码?

Language agnostic 如何组织代码?,language-agnostic,Language Agnostic,我指的不是缩进或目录结构,而是实际的文件本身 您是否按字母顺序排列您的成员和方法?可能是按照他们的使用顺序或复杂逻辑的顺序(升序或降序)?对你的疯狂有什么解释吗 我正在考虑按字母顺序切换,但有些情况会让我发疯: var _height var _properties var _width 宽度和高度绝对应该组合在一起。。。但有时在一个更大的文件中找到正确的方法会让人非常沮丧 你是干什么的?我做事很乱。我当然不会按字母顺序排列变量。对于C#,我甚至没有那么有条理,因为有些变量我使用像这样的东西,

我指的不是缩进或目录结构,而是实际的文件本身

您是否按字母顺序排列您的成员和方法?可能是按照他们的使用顺序或复杂逻辑的顺序(升序或降序)?对你的疯狂有什么解释吗

我正在考虑按字母顺序切换,但有些情况会让我发疯:

var _height
var _properties
var _width
宽度和高度绝对应该组合在一起。。。但有时在一个更大的文件中找到正确的方法会让人非常沮丧


你是干什么的?

我做事很乱。我当然不会按字母顺序排列变量。对于C#,我甚至没有那么有条理,因为有些变量我使用像这样的东西,对于属性我可能会这样做。它有时会让我发疯,但最终我喜欢让IDE特性为我完成工作。VisualStudio非常棒,能够右键单击一个变量进入它的定义,或者在代码中看到它被使用的任何地方都是非常棒的。我不知道你用的是什么IDE,但希望它有类似的特性。最后,我不太关心组织,我真的需要担心我的设计是否从根本上是合理的(这一部分通常需要我几次努力才能做到正确)。

我倾向于杂乱无章。我当然不会按字母顺序排列变量。对于C#,我甚至没有那么有条理,因为有些变量我使用像这样的东西,对于属性我可能会这样做。它有时会让我发疯,但最终我喜欢让IDE特性为我完成工作。VisualStudio非常棒,能够右键单击一个变量进入它的定义,或者在代码中看到它被使用的任何地方都是非常棒的。我不知道你用的是什么IDE,但希望它有类似的特性。最后,我不太关心组织,我真的需要担心我的设计是否从根本上是合理的(这一部分通常需要我几次尝试才能正确完成)。

我建议不要尝试对代码应用任何全面的一般规则。相反,在个案的基础上,以合理的方式组织它。在您给出的示例中,单纯按字母顺序是没有意义的。在其他情况下,它会。

我建议不要尝试对代码应用任何全面的一般规则。相反,在个案的基础上,以合理的方式组织它。在您给出的示例中,单纯按字母顺序是没有意义的。在其他情况下,它会。

方法:先公开,然后私有。相关的方法(例如,
getHeight()
getWidth()
getArea()
)彼此相邻放置。如果方法之间存在层次关系,则高级别优先于低级别(例如
getArea()
使用
getWidth()
因此将其置于其之前)

变量:与函数类似,先公共,然后私有。根据上下文分组


按字母顺序?我不喜欢它。在阅读/修改代码时,这可能是一场噩梦。我不知道函数名是
sqrt()
还是
calculateSqrt()
,所以我不喜欢寻找它。如果函数是根据上下文组织的,那么查找它们就会容易得多。

方法:先公共,然后私有。相关的方法(例如,
getHeight()
getWidth()
getArea()
)彼此相邻放置。如果方法之间存在层次关系,则高级别优先于低级别(例如
getArea()
使用
getWidth()
因此将其置于其之前)

变量:与函数类似,先公共,然后私有。根据上下文分组


按字母顺序?我不喜欢它。在阅读/修改代码时,这可能是一场噩梦。我不知道函数名是
sqrt()
还是
calculateSqrt()
,所以我不喜欢寻找它。如果函数是根据上下文组织的,那么查找它们就会容易得多。

通常会根据成员的性质(常量、字段、构造函数、方法)然后根据其可见性(私有、受保护、公共)对其排序


为了找到正确的东西,我在很大程度上依赖于现代IDE的功能(例如Visual Studio+Resharper)

通常根据成员的性质(常量、字段、构造函数、方法),然后根据其可见性(私有、受保护、公共)对成员进行排序


为了找到正确的东西,我在很大程度上依赖于现代IDE的功能(例如Visual Studio+Resharper)

函数在拓扑上按文件底部的“根”排序


变量几乎无关紧要——如果单个“单元”(函数、类等)有足够的变量使它们的排列具有任何意义,那么这可能是需要解决的问题。

函数在拓扑上按文件底部的“根”排序


变量几乎无关紧要——若一个“单元”(函数、类等)有足够的变量使它们的排列具有任何意义,那个么这可能就是需要修复的东西。

我按元素类型组织代码,这意味着所有方法都在一个位置(即文件末尾),所有构造函数都在一个(在方法之前)中,等等。变量、常量、枚举等也是如此。通常我会先放置私有变量,然后放置其他变量,但这不是严格的规则。同样,从本质上讲,相互关联的代码通常会在同一个地方结束,但这只是因为这是最简单的。

我不会费心按字母顺序保存代码,因为我在Eclipse大纲视图中很容易做到这一点。但是,如果编辑器不支持这一点,那么我可能会使用字母顺序。好的,至少对于更大的文件。

我是按元素类型组织代码的,这意味着所有方法都在一个位置(即文件末尾),所有