Language agnostic 哪种编码风格更常见?

Language agnostic 哪种编码风格更常见?,language-agnostic,coding-style,Language Agnostic,Coding Style,我绝不以任何形式宣传/推广我的编程风格,但就“多变量声明”而言,哪种情况在专业和普遍上更容易接受 案例1: private $databaseURL = "localhost" ; private $databaseUName = "root" ; private $databasePWord = "" ; private $databaseName = "AirAlliance"; 案例2: private $databaseURL = "localh

我绝不以任何形式宣传/推广我的编程风格,但就“多变量声明”而言,哪种情况在专业和普遍上更容易接受

案例1:

private $databaseURL   = "localhost"  ;
private $databaseUName = "root"       ;
private $databasePWord = ""           ;
private $databaseName  = "AirAlliance";
案例2:

private $databaseURL = "localhost";
private $databaseUName = "root";
private $databasePWord = "";
private $databaseName = "AirAlliance";

我喜欢案例1的原因是,我可以略过它,并看到所有都是正确的方式比案例2快。此外,我还可以直观地熟悉变量名,这样可以更快地在程序中使用它们。

无论项目已经使用哪种样式,这样您就不会花一整天的时间来修复您接触到的每个文件。

案例2。当你在“组”中添加一个新变量,或者在其中一行添加/删除一个字符时,你就不必花时间去摆弄事情了。

一个有趣的问题。就我而言,没有充分的理由使用案例1。我以前从未见过这种风格,除了可能在配置文件中,而且正确格式化代码需要额外的时间。一旦您更改了变量的内容,您还必须重置分号

只有同时使用空格时,它才有效。。。任何使用制表符的人都可能设置了不同的制表位,因此在另一个编辑器中打开时,它看起来会完全不同

我认为您提到的可读性优势在一定程度上被编写它所需的额外努力所抵消。

案例1.5:

private $databaseURL   = "localhost";
private $databaseUName = "root";
private $databasePWord = "";
private $databaseName  = "AirAlliance";
我不认为对齐分号会使它更具可读性,它只是使更改其中一个字符串的值,然后必须添加或删除空格以重新排列分号变得烦人


在这种情况下,看起来变量名不太可能更改,所以应该可以将等号对齐。但是,如果变量名可能会更改,我会选择案例2,因为(再次)必须重新排列所有内容会很烦人。(想象一下,简单地添加一个名为
$databaseLongVariableName
的新变量所涉及的工作)

对齐分号对我来说似乎是浪费时间,除非您的IDE/文本编辑器可以帮您完成。尤其是如果您以后添加的条目比以前的条目长;你必须重新调整它们。

我刚刚启动了我的编辑器,它正好击中了我。我喜欢案例1的所有原因都是语法突出显示,而不是浪费时间

如果在添加新变量时更改了它们的所有对齐方式,则任何diff工具都会在那里显示多个更改。只是一个想法


而且,我也做过一次。当我不得不添加一个更长的变量时,这就成了一件麻烦事。用空格填充所有现有的匹配项使我禁用了这种技术

案例2。对于其他任何东西,每次重新调整间距时,版本控制都会变得疯狂。除了有高亮显示的IDE和一些显示变量列表的IDE之外,对齐“=”和“;”真的是浪费时间在我看来。

案例2。如果我省略了分号,我有一个程序告诉我是这样的。它是编译器。

用例2。这要标准得多:


真的,你根本不应该关心这件事。编辑器应该自动对代码进行自动格式化。在Eclipse中尝试ctrl+shift+F。

很容易很好地对齐内容,我以前在PHP中也这样对齐我的访问器

function getName()  { return $this->name;   }
function getAge()   { return $this->age;    }
function getHeight(){ return $this->height; }
当您添加较长的行时,会出现问题:

function getName()  { return $this->name;   }
function getAge()   { return $this->age;    }
function getNiNumber(){ return $this->ni_number; }
function getHeight(){ return $this->height; }

如果我编辑了另外三行,那么当我提交我的更改时,就很难看到是谁写了一行,以及他们是在哪个版本中写的。

最好的选择是继续你正在做的项目。(如果项目没有一套编码准则,强烈建议花五分钟来定义它们)

许多较大的程序都有扫描代码的工具,以查找需要排序和清理的内容。在变量末尾添加空格可能会影响其中一些变量


同样关于选项卡,我从未参与过不确定编辑选项卡间距的项目。你可以随时使用你的个人文件,并在文件进入之前有一个预提交钩子来编辑文件,但是弄乱标签间距会让人厌烦不已只会导致签入时出现一大堆标签空间错误,然后必须稍后修复

大多数人会使用一行左边的制表符进行缩进,然后使用空格将内容对齐到右边


除了向文件中添加膨胀之外,它还变成了一个不一致的大烂摊子。对我来说,它不会使代码更具可读性。对于某些编辑器来说,这会使代码更难阅读。

您可以阅读“专家PHP 5工具”一书,以更详细地了解代码样式。
*net*中有电子书*

我也喜欢案例1,但这个问题是主观的。这并不局限于PHP…除非默认值以某种方式基于长度(例如,如果它们是10的幂),否则第一种样式如何让您更快地看到所有内容都是正确的?您的编辑器击中了您?我想这就是你激发它的原因:-)关于差异的好观点。我想知道是否有一个智能的差异工具可以忽略对格式的更改。@Calvin。。。也许有,但我不知道有一个是存在的。确切地说,我不知道对齐分号会有什么不同,除了是一件痛苦的事!emacs和TextMate中M-X align regexp区域的连接⌘⌥] (命令+选项+右括号)将执行此操作。+1,这只会诱使人们添加更多无用的空格以保持现有对齐。