【问题标题】:Best place to declare variables in a function [duplicate]在函数中声明变量的最佳位置[重复]
【发布时间】:2013-06-29 07:26:37
【问题描述】:

我有相当多的编程经验,但是多年来不断编写函数,我只是想知道社区对这件事的看法。

在函数下面是声明所有变量的最佳位置是在最开始还是在你去的时候声明它们?

例如:

void fake_function1() {
    int i;
    //do something here with variable i

    int counter;
    //do something here with variable counter

 }

 or

void fake_function2() {
    int i;
    int counter;

    //do something here with variable i
    //do something here with variable counter

 }

到目前为止,我通常倾向于做类似 fake_function2() 的事情,因为这看起来更正确,但有时我会做类似 fake_function1() 的事情,因为它看起来更具可读性和可读性代码总是更好的代码,尤其是当在我看来,代码可以轻松运行超过 10 万行。我认为一致性非常重要,但我很难决定哪个更好。

【问题讨论】:

标签: function variables


【解决方案1】:

对我真正有用的经验法则是:

声明是初始化

这意味着即使像 int i; 这样的语句也要避免使用 int i = 0;

将声明的代码与处理变量的代码放在一起确实只有可维护性。

另请注意,在顶部声明变量是一种做法,可能源于 C 不允许 mixed code and declarations 的时间。

【讨论】:

    【解决方案2】:

    我见过的大多数良好编码实践指南的一般规则(我只阅读了一些)是声明它们尽可能靠近首次使用的位置,如果它们不是则初始化它们t 默认构造。这大大降低了它们在没有先初始化的情况下被意外使用的可能性,从而减少了错误的可能性,而不会增加代码或对性能造成任何影响。

    也就是说,我喜欢将本地常量放在函数的开头。

    【讨论】:

      【解决方案3】:

      我理解并同意你的观点,也同意你认为第二种风格似乎更正确的感觉。

      虽然使用第一个函数的风格可能有助于代码作者一开始保持思想一致,但如果变量是一旦它们的作用域开始就声明,对于 JavaScript,它位于函数的顶部,而对于其他语言,它位于块的开头。这看起来很麻烦,但如果变量的数量变得如此很麻烦,那么也许函数或块本身应该被缩短,就像好的作家倾向于写长句子一样,但更好的作家通常会掌握再次缩短句子的艺术。

      请注意:无论使用什么样式,最好编写代码,其中每个变量只在必要时存在。

      【讨论】:

        猜你喜欢
        • 2013-06-05
        • 2020-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-10
        • 1970-01-01
        • 2012-07-30
        • 1970-01-01
        相关资源
        最近更新 更多