标签: coding-style

Python编程中的制表符与空格

当我进行Python编程时,我总是使用制表符进行缩进.但后来我在SO上遇到了一个问题,有人指出大多数Python程序员使用空格而不是制表符来最小化编辑器到编辑器的错误.

这有什么不同?还有其他原因可以使用空格而不是Python的制表符吗?或者这不是真的吗?

我应该切换我的编辑器来插入空格而不是立即插入标签或继续像以前那样继续前进吗?

python coding-style conventions indentation

339
推荐指数
19
解决办法
20万
查看次数

在JavaScript中声明多个变量

在JavaScript中,可以声明多个这样的变量:

var variable1 = "Hello World!";
var variable2 = "Testing...";
var variable3 = 42;
Run Code Online (Sandbox Code Playgroud)

......或者像这样:

var variable1 = "Hello World!",
    variable2 = "Testing...",
    variable3 = 42;
Run Code Online (Sandbox Code Playgroud)

一种方法比另一种方法更好/更快吗?

javascript variables performance coding-style declaration

316
推荐指数
15
解决办法
27万
查看次数

对于单行if或循环使用大括号(即{})的目的是什么?

我正在阅读我的C++讲师的一些讲义,他写了以下内容:

  1. 使用缩进//确定
  2. 永远不要依赖运算符优先级 - 始终使用括号//确定
  3. 总是使用{}块 - 即使是单行// 不行,为什么???
  4. 比较左侧的Const对象// OK
  5. 对于> = 0 //好玩法的变量使用无符号
  6. 删除后将指针设置为NULL - 双删除保护//不错

第三种技术对我来说并不清楚:通过在一条线中放置一条线可以获得{ ... }什么?

例如,拿这个奇怪的代码:

int j = 0;
for (int i = 0 ; i < 100 ; ++i)
{
    if (i % 2 == 0)
    {
        j++;
    }
}
Run Code Online (Sandbox Code Playgroud)

并替换为:

int j = 0;
for (int i = 0 ; i < 100 ; ++i)
    if (i % 2 == 0)
        j++;
Run Code Online (Sandbox Code Playgroud)

使用第一个版本有什么好处?

c c++ defensive-programming coding-style curly-braces

313
推荐指数
12
解决办法
3万
查看次数

有哪些开源C++静态分析工具?

Java有一些非常好的开源静态分析工具,如FindBugs,CheckstylePMD.这些工具易于使用,非常有用,可在多个操作系统上运行并且免费.

可以使用商业C++静态分析产品.虽然拥有这样的产品很棒,但是学生的成本太高,而且通常很难获得试用版.

另一种方法是找到可在多个平台(Windows和Unix)上运行的开源C++静态分析工具.通过使用开源工具,可以对其进行修改以满足特定需求.寻找工具并非易事.

下面是其他人发现或建议的C++静态分析工具的简短列表.

什么是其他任何人都知道并可以推荐的便携式开源C++静态分析工具?

一些相关链接.

c++ static-analysis coding-style

298
推荐指数
8
解决办法
9万
查看次数

'AND'vs'&&'作为运营商

我有一个代码库,开发人员决定使用ANDOR不是&&||.

我知道运营商的优先级(&&之前and)有所不同,但是对于给定的框架(PrestaShop来说准确),显然不是理由.

你使用的是哪个版本?是and不是更具有可读性&&?或者没有区别?

php coding-style operators

285
推荐指数
5
解决办法
18万
查看次数

是否应使用或不使用公共访问修饰符声明Java接口中的方法?

是否应使用或不使用public访问修饰符声明Java接口中的方法?

当然,技术上没关系.实现a的类方法interface总是如此public.但什么是更好的惯例?

Java本身并不一致.例如,参见Collectionvs. ComparableFuturevs ScriptEngine..

java coding-style interface public-method

284
推荐指数
8
解决办法
10万
查看次数

编码约定 - 命名枚举

是否存在在Java中命名枚举的约定?

我的偏好是枚举是一种类型.所以,例如,你有一个枚举

Fruit{Apple,Orange,Banana,Pear, ... }

NetworkConnectionType{LAN,Data_3g,Data_4g, ... }
Run Code Online (Sandbox Code Playgroud)

我反对命名它:

FruitEnum
NetworkConnectionTypeEnum
Run Code Online (Sandbox Code Playgroud)

我知道很容易找出哪些文件是枚举,但是你也可以:

NetworkConnectionClass
FruitClass
Run Code Online (Sandbox Code Playgroud)

另外,是否有一个好的文档描述了常量,在哪里声明它们等等?

java standards coding-style

280
推荐指数
5
解决办法
19万
查看次数

我应该在批处理文件中使用哪种评论样式?

我一直在编写一些批处理文件,并且我遇到了这个用户指南,该指南非常有用.它告诉我的一件事是线条不仅可以评论REM,还可以评论::.它说:

批处理代码中的注释可以使用双冒号进行,这比使用REM命令更好,因为标签在重定向符号之前处理.::<remark>没有问题但rem <remark>会产生错误.

为什么那么,我看到的大多数指南和示例都使用REM命令?是否::在所有版本的Windows工作?

comments coding-style batch-file

271
推荐指数
6
解决办法
32万
查看次数

Sublime Text 3中的80个字符/右边距线

你可以在Netbeans,Text Mate以及许多其他IDE中拥有80个字符/右边距线.是否可以在Sublime Text 3中使用它?任何选项,插件等?

formatting coding-style sublimetext sublimetext2 sublimetext3

271
推荐指数
2
解决办法
11万
查看次数

什么时候JavaScript的eval()不是邪恶的?

我正在编写一些JavaScript代码来解析用户输入的函数(用于类似电子表格的功能).解析了公式后,我可以将其转换为JavaScript并eval()在其上运行以产生结果.

但是,eval()如果我可以避免它,我总是回避使用,因为它是邪恶的(而且,无论是对还是错,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会被用户改变).

那么,什么时候可以使用它?

javascript coding-style eval

253
推荐指数
9
解决办法
8万
查看次数