究学习范畴的东西了。
对于更喜欢第一种还有着更多的原因。如果您使用的字符编辑器支持括号匹配功能的话(例如vi),最重要的就是有一个好的样式。为什么?我们说当你有一大块的程序而且想知道这一大块程序是在哪儿结束的话。你先移到开始的括号,按下按钮编辑器就会找到与之对应的结束括号,例如:
if ($very_long_condition && $second_very_long_condition)
{
...
}
else if (...)
{
...
}
从一个程序块移动到另一个程序块只需要用光标和你的括号匹配键就可以了,不需找匹配的括号。
3.2. 缩进/制表符/空格 规则
· 使用制表符缩进。
· 使用三到四个空格为每层次缩进。
· 不再使用只要一有需要就缩排的方法。对于最大缩进层数,并没有一个固定的规矩,假如缩进层数大于四或者五层的时候,你可以考虑着将代码因数分解(factoring out code)。
理由
· 许多编程者支持制表符。
· 当人们使用差异太大的制表符标准的话,会使阅读代码变得很费力。
· 如此多的人愿意限定最大的缩进层数,它通常从未被看作是一件工作。我们相信程序员们会明智的选择嵌套的深度。
例如
function func()
{
if (something bad)
{
if (another thing bad)
{
while (more input)
{
}
}
}
}
3.3. 小括号、关键词和函数 规则
· 不要把小括号和关键词紧贴在一起,要用空格隔开它们。
· 不要把小括号和函数名紧贴在一起。
· 除非必要,不要在Return返回语句中使用小括号。
理由
· 关键字不是函数。如果小括号紧贴着函数名和关键字,二者很容易被看成是一体的。
例如
if (condition)
{
}
while (condition)
{
}
strcmp($s, $s1);
return 1;
3.4. 别在对象架构函数中做实际的工作
别在对象架构构造函数中做实际的工作, 构造函数应该包含变量的初始化和(或)不会发生失败的操作。
理由
· 构造不能返回错误 。
例如
class Device
{
function Device() { /* initialize and other stuff */ }
function Open() { return FAIL; }
};
$dev = new Device;
if (FAIL == $dev->Open()) exit(1);
对于更喜欢第一种还有着更多的原因。如果您使用的字符编辑器支持括号匹配功能的话(例如vi),最重要的就是有一个好的样式。为什么?我们说当你有一大块的程序而且想知道这一大块程序是在哪儿结束的话。你先移到开始的括号,按下按钮编辑器就会找到与之对应的结束括号,例如:
if ($very_long_condition && $second_very_long_condition)
{
...
}
else if (...)
{
...
}
从一个程序块移动到另一个程序块只需要用光标和你的括号匹配键就可以了,不需找匹配的括号。
3.2. 缩进/制表符/空格 规则
· 使用制表符缩进。
· 使用三到四个空格为每层次缩进。
· 不再使用只要一有需要就缩排的方法。对于最大缩进层数,并没有一个固定的规矩,假如缩进层数大于四或者五层的时候,你可以考虑着将代码因数分解(factoring out code)。
理由
· 许多编程者支持制表符。
· 当人们使用差异太大的制表符标准的话,会使阅读代码变得很费力。
· 如此多的人愿意限定最大的缩进层数,它通常从未被看作是一件工作。我们相信程序员们会明智的选择嵌套的深度。
例如
function func()
{
if (something bad)
{
if (another thing bad)
{
while (more input)
{
}
}
}
}
3.3. 小括号、关键词和函数 规则
· 不要把小括号和关键词紧贴在一起,要用空格隔开它们。
· 不要把小括号和函数名紧贴在一起。
· 除非必要,不要在Return返回语句中使用小括号。
理由
· 关键字不是函数。如果小括号紧贴着函数名和关键字,二者很容易被看成是一体的。
例如
if (condition)
{
}
while (condition)
{
}
strcmp($s, $s1);
return 1;
3.4. 别在对象架构函数中做实际的工作
别在对象架构构造函数中做实际的工作, 构造函数应该包含变量的初始化和(或)不会发生失败的操作。
理由
· 构造不能返回错误 。
例如
class Device
{
function Device() { /* initialize and other stuff */ }
function Open() { return FAIL; }
};
$dev = new Device;
if (FAIL == $dev->Open()) exit(1);
| 对此文章发表了评论 |
