繁体   English   中英

您如何组织代码?

[英]How do you organize your code?

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

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

我正在考虑切换到按字母顺序排列,但有些情况会让我很生气:

var _height
var _properties
var _width

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

你是做什么?

我趋于混乱。 我当然不会按字母顺序排列变量。 在C#中,我的工作井井有条,因为某些变量我使用stuff_like_this,而某些属性可能使用DoItLikeThis。 有时候,这会让我发疯,但是最后,我喜欢让IDE功能为我完成工作 Visual Studio非常出色,并且能够右键单击变量以转到其定义,或者在正在使用的代码中到处都能看到真棒。 我不知道您使用什么IDE,但希望它具有类似的功能。 最后,我不太关心组织,真的需要担心我的设计在本质上是否合理(这部分通常需要我做一些尝试才能正确)。

我建议不要尝试对您的代码应用任何广泛的通用规则。 而是根据具体情况以合理的方式进行组织。 在您提供的示例中,纯粹按字母顺序将是没有意义的。 在其他情况下,它会。

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

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

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

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

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

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

变量几乎无关紧要-如果单个“单元”(函数,类等)具有足够的变量以使其排列表示任何含义,则可能需要对其进行固定。

我按元素类型组织代码,这意味着所有方法都放在一个位置(在文件的末尾),所有构造函数都在一个位置(在方法之前),依此类推。变量也一样,常量,枚举等。通常我将私有变量放在首位,将其他变量放在它们之后,但这不是严格的规则。 从本质上讲,彼此相关的代码通常会在同一地方结束,但这仅仅是因为它最简单。
我不必费心按字母顺序排列代码,因为在Eclipse大纲视图中很容易做到。 但是,如果编辑器不支持此功能,那么我可能会使用字母顺序。 好吧,至少对于更大的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM