标签: coding-style

我可以(安全地)给出一个与方法名称相同的变量吗?

在我的java代码中,我做了类似的事情:

int sleep = 0;
sleep(sleep);
sleep++;
Run Code Online (Sandbox Code Playgroud)

我的老板指出,它并不好.它无法在PHP中正常工作.

在java中使用上面的代码有什么问题/危险吗?

java coding-style

1
推荐指数
1
解决办法
91
查看次数

C++嵌套If语句可读性

对于if语句,我有相当复杂的逻辑.我目前正在使用:

if(numerical_evaluation) {

    if ((!boolOne && boolTwo) || !boolThree){
        //do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

boolOne,boolTwo和boolThree是逻辑操作(可能是x < y'myObject-> getBool'等).

我不知道更好的方法是在不将||条件嵌套在第三个if语句中的情况下使其易于阅读.

我遇到困难的原因是or操作员认为if可能有必要保证第三种说法.

一种选择是这样做.

或者,我可以做类似的事情

if(x <= y) {

    bool boolFour = false;
    if ((!boolOne && boolTwo))
        boolFour = true;

    if (boolFour || !boolThree){
        //do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至可以创建一个单独的函数来尝试将所有内容或组合验证为单个返回值?

或者,我可以尝试以不需要的方式重构代码,这可能需要大量的时间.

我的问题:格式化复杂if问题的最佳方法是什么- 包括更复杂的评估而不仅仅是if (!A && B && C)变化?当你将||语句与&&语句组合成一行时,似乎事情变得无可救药(尤其是当你对boolOne,boolTwo等进行复杂的评估时).做同样的原则 - 格式化if语句的多种条件的最佳方法 - 在这里也适用,或者在使用各种逻辑运算符时存在根本差异吗?

c++ if-statement coding-style code-readability

1
推荐指数
1
解决办法
2341
查看次数

布尔语法的性能和优雅问题

问题更多的是性能问题而不是优雅,我为自己说话,但......

有两个实现选项,cpu计算速度更快,或者最后它是相同的(我倾向于认为是,因为条件是(x <10)相同)

    public int DidLogcount = 0; // DidLogCount is raised by +1 every time we deside, then condition is met 
    public bool MoreLogsAllowed()
    {
        if (DidLogcount < 10) return true;
        else return false;
    }
Run Code Online (Sandbox Code Playgroud)

VS

    public bool MoreLogsAllowed()
    {
       return DidLogcount < 10;
    }
Run Code Online (Sandbox Code Playgroud)

我们大部分时间都会检查它是否为空,但是,如果我们必须,它将包括两种情况,所以如果我没有错过任何其他问题,我猜我只是缩小它(?).

我会说出正确的答案.谢谢.

Rediting:我只想标记正确答案,但在页面上刷新了3个以上...

等待形成更多选票......而现在,我真的要感谢你们所有人!为了分享你的知识,它确实经过了我的思考,编译器的优化问题,所以...有那些打印输出显示的东西,虽然它的自我很少差别,但当添加到一堆条件,它是少的很少,除非我们谈论一个真正复杂的应用程序,否则我不会说大.我应该说,性能问题永远不是一个小问题,而且由于@Steve和@Nick为我们实际测试它,因此具有逻辑和可读性.

c# logic boolean coding-style c#-4.0

1
推荐指数
1
解决办法
117
查看次数

Emacs PHP缩进

我在php-mode.el上使用Emacs:http://php-mode.sourceforge.net/php-mode.el.html

我的.emacs文件中有以下几行:

(load-file "~/.emacs.d/php-mode.el")
(require 'php-mode)
(setq c-default-style "linux" c-basic-offset 4)
Run Code Online (Sandbox Code Playgroud)

它在大多数情况下都非常好用.问题是对于某些代码位,Emacs以不同的方式显示代码与其他编辑器.例如,我在Emacs中有以下代码:

public function showStuff($items, $Stuff) {
    $restrict = true;
    $stuff  = false;
    $moreStuff = true;

    if (($restrict && $stuff >= $moreStuff) 
        || ( $moreStuff > 10)) {
        return true;
    }           
    return false;
}
Run Code Online (Sandbox Code Playgroud)

但是在Eclipse/Sublime Text/Text Wrangler中查看相同的文件看起来像:

public function showStuff($items, $Stuff) {
    $restrict = true;
    $stuff  = false;
    $moreStuff = true;

    if (($restrict && $stuff >= $moreStuff) 
    || ( $moreStuff > 10)) {
    return true;
    }           
    return false; …
Run Code Online (Sandbox Code Playgroud)

php emacs coding-style code-formatting indentation

1
推荐指数
1
解决办法
5014
查看次数

包括守护风格,C++

我有一个.h文件,其中包含几个类定义.我想在这个文件中使用C++的include guard; 但是,我想知道使用包含警卫的哪种方式被认为是正确/正确的?

一名警卫保护一切

#ifndef FOO_BAR
#define FOO_BAR

class Foo
{
};

class Bar
{      
};

#endif
Run Code Online (Sandbox Code Playgroud)

或多个单独的警卫.

#ifndef FOO
#define FOO

class Foo
{
};

#endif

#ifndef BAR
#define BAR

class Bar
{      
};

#endif
Run Code Online (Sandbox Code Playgroud)

c++ coding-style include-guards

1
推荐指数
1
解决办法
317
查看次数

i ++返回i而不是i ++

可能重复:
pre减少与post减少有
什么区别++ i和i ++有什么区别?

我刚刚意识到这一点

int i=0;
System.out.println(i++);
Run Code Online (Sandbox Code Playgroud)

打印0而不是1.我以为增加了然后打印了.似乎相反的情况发生了.

为什么?

java coding-style

1
推荐指数
1
解决办法
1694
查看次数

getter的良好命名约定

如果我有一个被调用的变量value,如果我想写它的getter,那将getvalue()是getter的一个好名字.还是getValue()更好?

有人告诉我,getter名称应该与变量名称匹配.

java coding-style naming-conventions

1
推荐指数
1
解决办法
731
查看次数

在Java中,似乎公共构造函数总是一个糟糕的编码实践

可能重复:
考虑提供静态工厂方法而不是构造函数

这可能是一个有争议的问题,可能不适合这个论坛(所以如果你选择关闭这个问题,我不会被侮辱).

看来Java的当前功能似乎没有理由构建构造器public...... 永远.友情,private,protected是确定的,但public没有.

似乎提供public static创建对象的方法几乎总是更好的主意.每个Java Bean序列化技术(JAXB,Jackson,Spring等......)都可以调用受保护或私有的无参数构造函数.

我的问题是:

  • 我从来没有见过这种做法在任何地方下令或写下来?也许布洛赫提到它,但我不拥有的是书.
  • 是否有一个用例除了可能不是超级DRY我错过了?

编辑:我解释为什么静态方法更好.

0.1.对于一个你得到更好的类型推断.例如,请参阅Guava的http://code.google.com/p/guava-libraries/wiki/CollectionUtilitiesExplained

0.2.作为该类的设计者,您可以稍后使用静态方法更改返回的内容.

0.3.处理构造函数继承很痛苦,特别是如果你必须预先计算某些东西.0.4.更多理由:https://stackoverflow.com/a/3852556/318174

我应该发布这是针对公共API的代码.我经常违反各种规则(比如使用直接现场访问)进行单元测试,方便,因为我很懒.因此,当我的意思,我的意思是你把它释放到野外.

java coding-style

1
推荐指数
2
解决办法
1914
查看次数

接口中的构造函数

我知道 - 我不能,但是.

我希望所有将实现我的接口的类具有相同的所有者(通常在构造函数中定义).这样做的最佳做法是什么?

我应该使用一些基本抽象类或类似的东西吗?

delphi coding-style interface delphi-xe2

1
推荐指数
1
解决办法
1489
查看次数

任何工具/ IDE /脚本限制我的C代码每行最多80个字符?

我有很多C代码.我需要编辑该代码以遵循一些编码行提示.所以我需要将所有C代码限制为每行最多80个字符.不是编辑每行代码,而是如何使用工具/ IDE /脚本执行此转换?

c linux ide coding-style

1
推荐指数
1
解决办法
225
查看次数