你如何组织你的代码?

时间:2010-09-11 22:58:32

标签: language-agnostic

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

您是按字母顺序排列成员和方法吗?也许在他们的使用顺序或复杂逻辑的顺序(升序或降序)?你的疯狂有没有押韵?

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

var _height
var _properties
var _width

宽度和高度绝对应该组合在一起......但有时在较大的文件中找到正确的方法可能会非常令人沮丧。

你做什么?

6 个答案:

答案 0 :(得分:1)

我倾向于混乱。我当然不会按字母顺序排列我的变量。使用C#,我的组织性更差,因为我使用的是一些变量stuff_like_this,而且我可能会使用属性DoItLikeThis。它有点让我发疯,但最后我喜欢让IDE功能为我做的工作。 Visual Studio非常好,只需右键单击一个变量即可进入其定义,或者在代码中的任何地方看到它正在使用它是非常棒的。我不知道你使用什么IDE,但希望它有类似的功能。最后,我不太关心组织,如果我的设计基本合理,我真的需要担心(这部分通常需要我几次尝试才能正确)。

答案 1 :(得分:1)

我建议不要在代码中应用任何全面的通用规则。而是根据具体情况,以有意义的方式组织它。在你给出的例子中,纯粹按字母顺序排列是没有意义的。在其他情况下,它会。

答案 2 :(得分:1)

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

变量:类似于函数,公共第一,然后是私有。根据具体情况分组。

按字母?我不喜欢它。阅读/修改代码时,这可能是一场噩梦。我无法判断函数的名称是sqrt()还是calculateSqrt(),所以我不喜欢寻找它。如果根据上下文组织函数,则更容易找到它们。

答案 3 :(得分:0)

一般按成员的性质(常量,字段,构造函数,方法)对其进行排序,然后按其可见性(私有,受保护,公开)排序。

为了找到正确的东西,我非常依赖现代IDE的功能(例如Visual Studio + Resharper)

答案 4 :(得分:0)

使用文件底部的“root”对函数进行拓扑排序。

变量几乎不重要 - 如果单个“单位”(函数,类等)有足够的变量来表示它们的任何意义,那可能就是需要修复的东西。

答案 5 :(得分:0)

我按照元素的类型组织我的代码,这意味着所有的方法都在一个地方(在文件的末尾,即),所有的构造函数都在一个(在方法之前),等等。对于变量,常量,枚举等。通常我首先放置私有变量,然后放置其他变量,但这不是严格的规则。另外,与自然相关的代码通常最终会出现在同一个地方,但这只是因为它最简单 我不打算按照字母顺序保存我的代码,就像我在Eclipse大纲视图中那样容易。但是,如果编辑器不支持此功能,那么我可能会使用字母顺序。好吧,至少对于更大的文件。