野生程序猿,请认清你的野性(二)

非常感谢大家的支持。

上篇文章野生程序员,请认清你的野性(一)是笔者来简书之后的第一篇文章。

没有想到第一篇文章就能破千,真心感谢大家的支持,也让我看到了这么多关注野生程序猿的朋友。

当然我相信也有不少跟我一样的野生程序猿。

今天我们继续来谈谈关于野生。

大家都知道,我是一只野生的程序猿。

所以我认识很多跟我一样的野生程序猿,他们有一个非常棒的特点。

那就是自学能力非常强!

野生程序猿是之所以自嘲“野生”,就是因为没有领路人,没有老师教,完全都是自学,自己摸索。

我们是与众不同的,因为我们热爱编程!

但我们也是可悲的。因为没有人告诉我们该遵守什么规范。

下面给大家简单说点PHP的编码规范。

namespace 以及 use 声明

namespace 声明后 必须 插入一个空白行。
所有 use 必须namespace 后声明。
每条 use 声明语句 **必须 **只有一个 use 关键词。
use 声明语句块后 必须 要有一个空白行。

<?php
namespace Vendor\Package;

use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

// ... additional PHP code ...

扩展与继承

关键词 extendsimplements 必须 写在类名称的同一行。

<?php
namespace Vendor\Package;

use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
    // constants, properties, methods
}

implements 的继承列表也可以分成多行,这样的话,每个继承接口名称都必须分开独立成行,包括第一个。

<?php
namespace Vendor\Package;

use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

class ClassName extends ParentClass implements
    \ArrayAccess,
    \Countable,
    \Serializable
{
    // constants, properties, methods
}

属性

每个属性都必须添加访问修饰符。
一定不可使用关键字 var
声明一个属性。
每条语句一定不可定义超过一个属性。
不要使用下划线作为前缀,来区分属性是 protected 或 private。

<?php
namespace Vendor\Package;

class ClassName
{
    public $foo = null;
}

方法

所有方法都必须添加访问修饰符。
不要使用下划线作为前缀,来区分方法是 protected 或 private。
方法名称后一定不能有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不能有空格。
一个标准的方法声明可参照以下范例,留意其括号、逗号、空格以及花括号的位置。

<?php
namespace Vendor\Package;

class ClassName
{
    public function fooBarBaz($arg1, &$arg2, $arg3 = [])
    {
        // method body
    }
}

方法的参数

参数列表中,每个参数后面必须要有一个空格,而前面一定不能有空格。
有默认值的参数,必须放到参数列表的末尾。

<?php
namespace Vendor\Package;

class ClassName
{
    public function foo($arg1, &$arg2, $arg3 = [])
    {
        // method body
    }
}

参数列表可以分列成多行,这样,包括第一个参数在内的每个参数都必须单独成行。
拆分成多行的参数列表后,结束括号以及方法开始花括号 必须 写在同一行,中间用一个空格分隔。

<?php
namespace Vendor\Package;

class ClassName
{
    public function aVeryLongMethodName(
        ClassTypeHint $arg1,
        &$arg2,
        array $arg3 = []
    ) {
        // method body
    }
}

方法及函数调用

方法及函数调用时,方法名或函数名与参数左括号之间一定不能有空格,参数右括号前也 一定不能有空格。每个参数前一定不能有空格,但其后必须有一个空格。

<?php
bar();
$foo->bar($arg1);
Foo::bar($arg2, $arg3);

参数可以分列成多行,此时包括第一个参数在内的每个参数都必须单独成行。

<?php
$foo->bar(
    $longArgument,
    $longerArgument,
    $muchLongerArgument
);

控制结构

...

还想看?

你的野生特质呢!!

这套规范名为PSR-2,自己Google去吧~

O(∩_∩)O哈哈哈~

---
我们是野生的,但请认清你的野性:野生不是各种不规范,野生只是一种特质!

我是闫大伯,一只野生程序猿。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容