怎样将Drupal代码规范应用到实际编码中

这是关于Drupal编码规范系列文章的第二篇。在第一篇文章中,我们谈到了代码规范及其重要性;在这篇文章中我们主要谈谈如何将这些规范应用到自己的项目中。

  这个系列的一些文章:

  1、Drupal 代码规范有哪些?

  2、怎样将Drupal代码规范应用到实际编码中

  3、代码格式化

  4、文档

  5、函数 t()

  6、面向对象编程与 Drupal 8

  7、Drupal 8 中使用 Twig

  阅读编码规则并且熟记在心

  仔细阅读Drupal的编码规则并且理解为什么这样规定是最好的办法,即使你已经对这些规则很熟悉,我们依然需要去多次阅读。有可能在你上次阅读后已经有不少修订及新规则加入,在线文档的地址是https://www.drupal.org/coding-standards ,请将其加入书签,现在请把这篇文章作为一个理由再看一遍这些规范吧!

  正确的设置你的编辑器

  保持代码干净标准最简单的办法就是让编辑器帮你完成这些工作,常用的编辑器有很多,他们基本都可以通过设置来自动帮你保持代码的标准性。

Sublime Text

  Chris 几年前写的这篇面向前端开发者的文章中包含了很多适合所有开发者关于安装和设置 Sublime Text 的技巧。

  在 drupal.org中也有很多有价值的文章,例如:https://www.drupal.org/node/1346890 ,这篇文章介绍了设置drupal编码规范的一些基本配置,如何在 OSX和Linux上通过脚本来配置,还有一些很有用的插件。有了这些你再也不用担心 行长度、空格、缩进及结尾等等问题了。

PhpStorm

  如果你正在使用 PhpStorm,在它的官网上有很多关于Drupal设置的指导文章,你可以点击这里查看。

 

如果你在用其他的编辑器,你可以在这里查看它是否在列,或许你可以在这里找到相关的配置方法:https://www.drupal.org/node/147789

如果这里没有找到,我建议你去搜索一下,如果你仍然没有发现相关的指导,你还可以编写自己的配置办法并将其加入到上面的列表中。

使用coder模块来审查你的代码

确认代码是否规范最简单的办法是使用像 codesniffer这样的程序来帮你完成,你可以安装Drupal的coder模块,它提供了通过命令行使用自定义规则和codesniffer来帮你检查代码规范的相关命令,以下是使用coder的一个例子:

让我们跟着上面的截图来一步步走:

1、 首先进入一个模块的目录中,这里我进入了countries 模块

2、 这里我对为drupal自定义的codesniffer规则起了个别名:drupalcs

3、 我想去检查这个文件:tests/countries.test

4、 有时这个命令会耗时一点,如果你发现这个命令可能挂起了,这可能是由于你检查了一个很多文件的目录,所以你可以尝试每次去检查一个文件

5、 首先你可以看到检查的文件名及其绝对路径,在我这里是:/Applications/MAMP/htdocs/countries/tests/countries.test

6、 接着,你就可以看到检查出的错误、警告及更改好的错误数量,有时同一行中就会有多个错误,coder 会将他们全部检测到。

7、 最后,错误与警告都会被一行行的列出来

 

我发现解决这些错误最简单的方式是按顺序来解决,因为有时一个错误会引发其他的错误(coder 的理解能力有限),比如:一个数组中的某行缩进不正确,这可能导致检测到这行之后的缩进都不正确,即使他们是正确的。

Christopher 去年在 PHP Codesniffer发布了一篇很好的文章,点这里可以看到。

一般来说,你希望在每次更改完代码要提交代码或补丁之前运行一次coder,这样的话,你的代码总是符合规范的,当其他人审阅你的代码时就不用再为代码格式而烦恼。当然,没有人不会犯错误,有时我们会因为只做了很小的改动而没有去运行coder,并且没有意识到这里会有格式问题,这就是团队的代码审查如此重要的原因了。

团队的代码审查是值得的

 很多成功的团队都是建立在花时间来彼此审查代码的基础上的。他人的代码审查是无可替代的,并且请确保你将代码审查也作为了你进度中必不可少的阶段 - 在drupal.org中代码审查也是同样的重要。当你在规划一个项目的进度及资源时,请将代码审查的时间也考虑在内。当你在一个公共项目中工作的时候,确保你对标记为‘Need Review’ 的issue已经确认和测试过。如果你想加入一个项目(比如 drupal)并贡献一力量,审查 patches是一个适应项目很好的办法。你可以查看他人的代码,如果你能发现一些需要修改的错误并且修正,你将会对这里印象深刻。

在你审查别人的代码或者收到审查反馈的时候你需要记住这两点:

1、 待人应像对待自己一样,要友善、礼貌、尊重和积极,并且注意你的语气。但大家常常会忘掉这些,尤其在快节奏的工作中。多花几秒中重新看一下你的回复是很重要的,尤其在跟你不熟悉的人交流时。

2、 容不迫地对待所有事情,别往心里去。审查你代码的人是想让代码更优秀,修正意见并不是对你的人身攻击。刚开始,甚至之后几年你都会感觉这个很难,你一直会在收到回复后感觉很不好。别想太多了,感谢提出修正意见的人,修补并且提交这些问题,他们也会同样感谢你。

 

现在你知道了什么是代码规范及它的重要性,也学到了如何在自己的代码中使用这些规范,配置你的编辑器、安装coder模块。在下一篇代码规范的文章“格式化代码”中,我们会谈到一些细节应该如何格式化你的Drupal代码。