资讯专栏INFORMATION COLUMN

最流行的PHP 代码规范

xiongzenghui / 2953人阅读

摘要:是最好的编程语言那么习惯使用什么样的代码规范呢通过分析上托管的开源代码,得出了一些有趣的结果吧。缩进空格,基于次提交统计。定义类时大括号的位置独占一行不独占一行基于次提交统计。译注此处统计归类不当。最大行宽字符字符字符基于次提交统计编译

“PHP是最好的编程语言” ;-) 那么PHPer习惯使用什么样的代码规范呢?sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果,让我们一起来看看吧。

缩进

空格(70.172 %),Tab(29.828 %)

基于 600,614 次提交统计。

定义类时大括号的位置

独占一行(55.703 %)

class Foo
{
  // ...
}

不独占一行(44.297 %)

class Foo {
  // ...
}

基于 68,516 次提交统计。

控制语句大括号的位置

同一行(65.937 %)

if($baz) {
  // ..
} elseif($bar) {
  // ..
} else {
  // ..
}

while ($i <= 10) {
  // ..
}

switch($beer) {
  // ..
}

不同行 (34.063 %)

if($baz)
{
  // ..
}
elseif($bar)
{
  // ..
}
else
{
  // ..
}

while ($i <= 10)
{
  // ..
}

switch($beer)
{
  // ..
}

基于 292,588 次提交统计。

方法定义大括号的位置

同一行(64.442 %)

function bar($baz) {
  // ...
}

不同行(35.558 %)

function bar($baz)
{
  // ...
}

基于 65,030 次提交统计。

条件语句周围空格

有空格 (89.979 %)

if ($baz) {
  // ...
} elseif ($bar) {
  // ...
} else {
  // ...
}

while ($i <= 10) {
  // ...
}

switch ($beer) {
  // ...
}

无空格 (10.021 %)

if($baz){
  // ...
}elseif($bar){
  // ...
}else{
  // ...
}

while($i <= 10){
  // ...
}

switch($beer){
  // ...
}

基于 219,583 次提交统计。

条件语句内部空格

无空格(82.808 %)

if ($baz) {
  // ...
} elseif ($bar) {
  // ...
}

while ($i <= 10) {
  // ...
}

switch ($beer) {
  // ...
}

有空格(17.192 %)

if ( $baz ) {
  // ...
} elseif ( $bar ) {
  // ...
}

while ( $i <= 10 ) {
  // ...
}

switch ( $beer ) {
  // ...
}

基于 296,011 次提交统计。

方法声明参数外部

无空格(82.407 %)

function bar($baz){
  // ...
}

有空格 (17.593 %)

function bar ($baz) {
  // ...
}

基于 15,519 次提交统计

方法声明参数内部

无空格(84.828 %)

function bar($baz){
  // ...
}

有空格(15.172 %)

function bar( $baz ){
  // ...
}

基于 52,324 次提交统计

类名

PascalCase (75.973 %)

class FooBarBaz {
  // ...
}

Snake_Pascal_Case (14.564 %)

class Foo_Bar_Baz {
  // ...
}

snake_case (6.025 %)

class foo_bar_baz {
  // ...
}

camelCase (2.851 %)

class fooBarBaz {
  // ...
}

Snake_first_letter_uppercase (0.299 %)

class Foo_bar_baz {
  // ...
}

CAPS_SNAKE_CASE (0.287 %)

class FOO_BAR_BAZ {
  // ...
}

基于 60,467 次提交统计。

常量

CAPS_SNAKE_CASE (97.511 %)

const BAR_BAZ = 0;

define("BAR_BAZ", 0);

snake_case (1.088 %)

const bar_baz = 0;

define("bar_baz", 0);

camelCase (0.842 %)

const barBaz = 0;

define("barBaz", 0);

PascalCase (0.507 %)

const BarBaz = 0;

define("BarBaz", 0);

Snake_Pascal_Case (0.052 %)

const Bar_Baz = 0;

define("Bar_Baz", 0);

基于 30,144 次提交统计。

函数名

camelCase (74.26 %)

function barBaz(){
  // ...
}

snake_case (23.644 %)

function bar_baz(){
  // ...
}

PascalCase (1.868 %)

function BarBaz(){
  // ...
}

CAPS_SNAKE_CASE (0.14 %)

function BAR_BAZ(){
  // ...
}

Snake_Pascal_Case (0.087 %)

function Bar_Baz(){
  // ...
}

基于 185,946 次提交统计

方法声明

static在可见性之后(85.272 %)

class Foo
{
  public static function bar($baz)
  {
    // ...
  }
}

abstract(或final)在可见性之前(7.483 %)

class Foo
{
  abstract public function bar($baz);
  // ...
}

static在可见性之前(5.519 %)

class Foo
{
  static public function bar($baz)
  {
    // ...
  }
}

abstract(或final)在可见性之后(1.726 %)

class Foo
{
  public abstract function bar($baz);
  // ...
}

基于 45,467 次提交统计。

译注:此处统计归类不当。应当拆分成两类分别统计。

最大行宽

80字符 (90.269 %)

120字符 (7.074 %)

150字符 (2.657 %)

基于 636,577 次提交统计


编译 SegmentFault

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/20686.html

相关文章

  • atom和phpcs

    摘要:的编码规范虽然没有像那样集中,有这样的统一标准见我的这篇文章,但也是有规律可循的。最简单的莫过于直接使用,但是真的实在太弱了,所以目前业界比较流行的是使用,简称。在代码规范方面,没有所谓的个人喜好,而只有项目规范。所以目前以及都开始遵循。 php的编码规范虽然没有像javascript那样集中,有eslint这样的统一标准(见我的这篇文章),但也是有规律可循的。最简单的莫过于直接使用p...

    CntChen 评论0 收藏0
  • PHP新手开发者路线建议

    摘要:年开发者应该熟练使用,并且知道版本更新内容。对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。是标准规范,是开发的实践标准。对开发者来说语言推荐和,全栈的选择非常多,推荐热门的 前言 在前天(2018-08-02)已经发布了PHP 7.3.0.beta1 Released 如果你还没有使用 PHP7 ,那真的很遗憾。2018年PHP开发者应该熟练使用 PHP7...

    klinson 评论0 收藏0
  • PHP回顾之Composer

    摘要:本文简要回顾相关概念和用法。相比之下已是明日黄花。分别对应的命令是根据关键字查找依赖包,例如查找本人发布的包。作为目前包依赖管理的最佳工具,值得每一位开发人员掌握。 转载请注明文章出处:https://tlanyan.me/php-review... PHP回顾系列目录 PHP基础 web请求 cookie web响应 session 数据库操作 加解密 Composer是PHP...

    Ocean 评论0 收藏0
  • Composer管理PHP依赖关系

    摘要:然而各自为政的打包方式依赖关系的处理,导致了很难将两个开源项目集成到一起。虽然有这种官方支持的包管理工具,但是依然没有很好的统一的依赖关系管理的办法。项目编译和打包依赖关系的解决都可以很轻松的实现。 简介 现在软件规模越来越大,PHP项目的开发模式和许多年前已经有了很大变化。记得初学PHP那会儿,boblog是一个很好的例子,几乎可以代表PHP项目的开发模式。当时PHP 5.x以上的版...

    Mertens 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<