首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java约定--使用Curly Braces隔离代码?

Java约定--使用Curly Braces隔离代码?
EN

Stack Overflow用户
提问于 2019-10-20 17:54:26
回答 1查看 129关注 0票数 0

我对此很好奇。最近,我有了这样的想法:使用用于可视化组织的大括号来隔离代码段,并将变量分离到特定的范围(如果只是为了防止它们在更大的函数中混淆Eclipse中的建议的话)。例如:

代码语言:javascript
复制
public void startInstall()
{
    boolean success = false;
    m_progress = 0;

    // Determine Chance of Success (This is isolated in curly braces)
    {
        double weight_total = 0;
        double weight_sum = 0;
        for(int i=0; i < Data.m_feature_selection.size(); i++)
        {
            if(Data.m_feature_selection.get(i))
            {
                int weight = Data.m_feature_weight.get(i);
                weight_total += Math.abs(weight);
                weight_sum += weight;
            }
        }
        double succ_chance = (weight_sum / weight_total) + 0.15;
        if(Math.random() <= succ_chance)
            success = true;
    }
    // Do more stuff....
}

这会影响性能吗?这是违反惯例吗?在一个专业的环境中,这样做是否会受到反对呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-20 18:05:13

如果您需要这样做,您应该将这个块分解成一个方法。

此外,注释是一种代码气味。在几乎每一种情况下,如果您必须注释代码,那么代码编写得很糟糕:

将您的评论转换为一个方法名!

代码语言:javascript
复制
double determineChanceOfSuccess() {
    double weight_total = 0;
    double weight_sum = 0;
    for(int i=0; i < Data.m_feature_selection.size(); i++) {
        if(Data.m_feature_selection.get(i)) {
            int weight = Data.m_feature_weight.get(i);
            weight_total += Math.abs(weight);
            weight_sum += weight;
        }
    }
    double succ_chance = (weight_sum / weight_total) + 0.15;
    return succ_chance;
}

现在,您的主要代码是可读的!

代码语言:javascript
复制
public void startInstall() {
    m_progress = 0;

    double succ_chance = determineChanceOfSuccess();

    boolean success = Math.random() <= succ_chance;

    // Do more stuff....
}

注意,轻微的代码清理也。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58475702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档