使用注释块或函数进行变量启动更好吗?

时间:2013-03-19 09:51:09

标签: coding-style

由于函数分支越多,执行得越慢,使用下面的注释块进行一次代码执行(例如变量启动)会更好,或者为此目的使用函数是否更好? 哪一种更好的做法?一种选择真的与其他选择不同吗?如果不是这样,为什么不呢?

评论栏:

/*************************************************************************************************/
/***********************************  VARIABLE INITIATIONS   *************************************/
 /************************************************************************************************/
Hospital **hospitals = new Hospital*[15];
for(int i = 0 ; i < 5 ; i++)
    hospitals[i] = new Hospital(3, i, 15);  //3: quota, i: hospital number, 10:prefereneceLength
Resident **residents = new Resident*[15];
for(int i = 0 ; i < 15 ; i++)
    residents[i] = new Resident(i,5);  //i: hospital number, 10:prefereneceLength
.
.
.

或启动函数:

int main(void) {
    init_vars();
    read_from_files();
    .
    .
    .

1 个答案:

答案 0 :(得分:2)

我总是倾向于过早优化的可读性。

如果您稍后发现由于函数调用而导致您的初始化速度变慢(我无法相信除了最苛刻的任何情况之外的任何情况都会影响您),那么优化。

与往常一样,衡量您的表现并确定热点。很容易提前确定可能的问题并为此编写代码,后来发现这根本不是问题。与此同时,你牺牲了设计和可读性。

正如Knuth所说:

  

我们应该忘记效率低,大约97%的时间说:   过早优化是万恶之源。