我不是指缩进或目录结构,而是指实际文件本身。
您是按字母顺序排列成员和方法吗?也许在他们的使用顺序或复杂逻辑的顺序(升序或降序)?你的疯狂有没有押韵?
我正在考虑按字母顺序切换,但有些情况会让我发疯:
var _height
var _properties
var _width
宽度和高度绝对应该组合在一起......但有时在较大的文件中找到正确的方法可能会非常令人沮丧。
你做什么?
答案 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大纲视图中那样容易。但是,如果编辑器不支持此功能,那么我可能会使用字母顺序。好吧,至少对于更大的文件。