组织代码的最佳方法是什么?

时间:2008-09-16 14:39:12

标签: language-agnostic

我不是在谈论如何在这里缩进。我正在寻找有关在源文件中组织代码块的最佳方法的建议。

您是按字母顺序排列方法吗?按照你写的顺序?主题?在某种“教学”秩序中?

您遵循哪些组织原则?为什么呢?

11 个答案:

答案 0 :(得分:5)

我通常按以下顺序排序

  1. 构造
  2. 吸气剂
  3. 制定者
  4. 任何'魔术'方法
  5. 更改接收方持久状态的方法(save()etc)
  6. 行为
  7. 公共帮助方法
  8. 私人/受保护助手方法
  9. 其他任何事情(尽管如果还有其他任何东西通常表明需要进行一些重构)

答案 1 :(得分:3)

我倾向于使用以下模式:

  • public static final variables
  • 静态函数,静态块
  • 变量
  • 施工人员
  • 执行与逻辑相关的功能
  • getter and setters(大多数都是无关紧要的,所以没有必要阅读它们)

我没有包含本地类的模式,而且我把它们放在使用它们的第一个方法之上。

我不喜欢根据访问级别分离方法。如果某些公共方法使用某种私有方法,它们将彼此接近。

答案 2 :(得分:1)

我倾向于将相互关联的方法分组。使用好的IDE可以消除这些问题。字母组合方法对我来说似乎是一种浪费。

答案 3 :(得分:0)

我根据所做的事情对它们进行分组,然后按照我编写的顺序对它们进行分组(按字母顺序排列会更好)但

例如在texture.cpp中我有:

//====(DE)CONSTRUCTOR====
...
//====LOAD FUNCTIONS====
...
//====SAVE FUNCTIONS====
...
//====RESOURCE MANGEMENT FUNCTIONS====
//(preventing multiple copies being loaded etc)
...
//====UTILL FUNCTIONS====
//getting texture details, etc
...
//====OVERLOADED OPERTORS====
....

答案 4 :(得分:0)

我正在编写的任何内容都使用这种方法。良好的结构和良好的注释代码可以很好地阅读

  • 全球变量
  • 功能
  • 主体/方法

答案 5 :(得分:0)

公共,受保护,然后是私有,并且在每个部分中按字母顺序排列,尽管我经常列出构造函数,最后是解构函数。

/阿伦

答案 6 :(得分:0)

由于缺乏更好的词,我倾向于按主题分组。

例如,如果我有一个公共方法在其工作过程中使用了两个私有方法,那么我会将所有三个方法组合在一起实现文件中,因为如果你要查看一个方法,那么几率很高然后你需要看看其中一个。

我也总是为特定的类成员分组get / set方法。

这是个人偏好,特别是对于现代IDE,因为有很多功能可以让你自动跳转到代码中的位置。

答案 7 :(得分:0)

我喜欢保持简单,所以我不会在课堂上填充一堆方法。在一个类中,我通常首先列出最常用(或由我修改;-))方法。就具体代码组织而言,每组方法都属于一个类,因此它自己组织。

我利用编辑器的搜索功能和代码折叠来浏览大型源文件。同样,我也使用搜索功能在其他环境中查找内容。一个宏大的组织计划从来不适合我,所以我依靠所有事情的搜索能力,而不仅仅是代码。

答案 8 :(得分:0)

有趣的一点。我没想过这个。

我倾向于将经常访问的函数放在顶部(实用函数等),因为它们很可能需要调整。

我认为组织不是特别重要,因为我可以快速找到任何功能。我不滚动浏览我的文件来查找函数;我搜索它。

在C ++中,我确实希望.cpp文件中的函数与它们在.h文件中声明的顺序相同。通常是构造函数,后跟析构函数,后跟主/中心功能函数,然后是实用程序函数。

答案 9 :(得分:0)

我主要编写C代码,我倾向于依赖顺序。如果可能的话,我会尝试将我的源代码文件与我的头文件匹配,但通常情况下,如果void a()使用int b(char * foo),则首先使用int b(char * foo)。

使我免于向本地函数的头文件添加条目。

其余的主要是字母,使搜索更容易。

答案 10 :(得分:0)

我拥有所有私有字段,然后是public,然后是构造函数,然后是main,然后是main调用的方法,按照它们被调用的顺序。