美文网首页首页投稿(暂停使用,暂停投稿)程序员
野生程序猿,请认清你的野性(二)

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

作者: 闫大伯 | 来源:发表于2016-04-14 23:52 被阅读616次

非常感谢大家的支持。

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

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

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

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

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

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

那就是自学能力非常强!

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

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

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

下面给大家简单说点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哈哈哈~

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

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

相关文章

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

    非常感谢大家的支持。 上篇文章野生程序员,请认清你的野性(一)是笔者来简书之后的第一篇文章。 没有想到第一篇文章就...

  • 野生程序员,请认清你的野性(一)

    野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强...

  • 吾日三省吾身

    本文转自:如何混迹程序猿江湖,你得懂程序员黑话暗语 ,如有侵权,请联系我删除 当前的程序猿世界“血雨腥风”,如果不...

  • Redis 面试总结

    综合自:Java野生程序猿、guchuanyun111www.cnblogs.com/jiahaoJAVA/p/6...

  • 程序猿段子:愿望

    程序猿:慈爱的上帝,请帮帮我吧! 上帝:可怜的孩子,我可以为你实现一个愿望。 程序猿:我要我的代码永远不出bug。...

  • 12.27

    1,我妈非让我报计算机考试,说要考证好找工作,不考虑说好的程序猿都是野生的以及程序猿只看代码不看证之类的观点,仅仅...

  • 简书四年

    如今的自己,毕业四年,从业四年半的野生水货程序猿,在离家千里之外的城市漂泊。堪堪能算上脱离初级程序猿的范畴了吧,可...

  • 浅谈程序猿技术练级攻略

    如果你是一只程序猿或者致力成为一只程序猿,请问下自己:“我真的热爱技术吗?”,如果不热爱请迅速逃离这个行业!如果爱...

  • Redis面试总结

    来自公众号 数据分析与开发综合自:Java野生程序猿、guchuanyun111www.cnblogs.com/j...

  • 饱醉豚,我日你仙人板板

    你老婆是被成程序猿轮着草过吗?你就这么恨程序猿?

网友评论

    本文标题:野生程序猿,请认清你的野性(二)

    本文链接:https://www.haomeiwen.com/subject/vggplttx.html