本文主要是对PSR-2 的简单翻译. 英文源址 http://www.php-fig.org/psr/psr-2/

PSR2继承和扩展PSR1--基本编码规范

本手册的目的是使用一系列共同遵守的编码格式规范来减少不同开发者之间的认知冲突.

这些规则从众多项目中总结出来.当工程师们在不同的项目中合作时,这个规则帮助大家建立共识.规则的本身并不是优势,而是遵守规则所带来的理解便利.

关键字"MUST","MUST NOT" "SHOULD" "SHALL" 等参考RFC 2119.

OverView

1 必须遵循PSR1

2 使用4空格缩进,而不是tab

3 禁止每行长度硬限制.软限制每行120字符,实际每行应少于80字符

4 在namespace 声明和 use 声明之后必须有一空行

5 类的声明左花括号必须另起一行,右花括号必须在声明体结束另一一行

6 方法声明的花括号同上

7 所有的属性和方法必须声明可见性, abstract 和 final 必须声明在可见性之前,static 必须声明在可见性之后.  public static || final public || abstract protected

8 控制结构关键字 break ,continue , else 之后必须有一个空格,方法和函数一定不要.

9 else 等控制结构的开始花括号必须在同一行,结束花括号必须另起一行

10 开始的圆括弧之后需要有1个空格,结束的圆括弧之前不需要.

PSR-2 Coding Style Guide的更多相关文章

  1. python coding style guide 的高速落地实践

    python coding style guide 的高速落地实践 机器和人各有所长,如coding style检查这样的可自己主动化的工作理应交给机器去完毕,故发此文帮助你在几分钟内实现coding ...

  2. python coding style guide 的快速落地实践——业内python 编码风格就pep8和谷歌可以认作标准

    python coding style guide 的快速落地实践 机器和人各有所长,如coding style检查这种可自动化的工作理应交给机器去完成,故发此文帮助你在几分钟内实现coding st ...

  3. Google coding Style Guide : Google 编码风格/代码风格 手册/指南

    1 1 1 https://github.com/google/styleguide Google 编码风格/代码风格 手册/指南 Style guides for Google-originated ...

  4. The OpenCV Coding Style Guide

    https://github.com/opencv/opencv/wiki/Coding_Style_Guide

  5. Google C++ Style Guide

    Background C++ is one of the main development languages used by many of Google's open-source project ...

  6. Airbnb JavaScript Style Guide

      Airbnb JavaScript Style Guide() { 用更合理的方式写 JavaScript    ES5 的编码规范请查看版本一,版本二. 翻译自 Airbnb JavaScrip ...

  7. 有限狀態機FSM coding style整理 (SOC) (Verilog)

    AbstractFSM在數位電路中非常重要,藉由FSM,可以讓數位電路也能循序地執行起演算法.本文將詳細討論各種FSM coding style的優缺點,並歸納出推薦的coding style. In ...

  8. [Coding Style] CSS coding style

    CSS coding style Note 结合实际工作中的规范和推荐大家使用的CSS书写规范.顺序这篇文章整合而成 Navigation CSS 书写顺序 CSS 常用文件命名 CSS 常用命名规范 ...

  9. [CPP] Coding Style

    C++ Coding Style C++很多强大的语言特性导致它的复杂,其复杂性会使得代码更容易出现bug.难于阅读和维护. 由于,本人有一点点代码洁癖,所以依照Google的C++编程规范<G ...

随机推荐

  1. C#中大List的内存分配

    之前在开发中只用到List的时候几乎就是拿过来就用,从来没有考虑过List的内存分配问题,试想一个有10万元素的List的在构造和添加元素时内存是如何变化的呢?在MSDN上关于List的Capacit ...

  2. c# 使用oledb 写入导出excel设置单元格为成数字格式 设置了不起作用

    使用oledb 导出过程中,如果excel安装版本低于2010,无论怎么设置.导出的都是文本格式. 用代码-使用数据-分列,解决

  3. vector 汇总

    Vector成员函数 函数 表述 c.assign(beg,end) c.assign(n,elem) 将[beg; end)区间中的数据赋值给c. 将n个elem的拷贝赋值给c. c.at(idx) ...

  4. Android识别图片中脸部信息

    在Android开发中,大部分应用都是以用户为第一位,用户都有自己的个人中心,用来展示自己的信息,头像无疑是展示自己最直观的方式,随着各种政策的出台,实名认证,真人头像变得尤为重要,如果要求上传真人头 ...

  5. [Non-original]OS X How do I unset an IP address set with ifconfig?

    I recently used ifconfig en1 1.2.3.4 to set the IP address of a network interface (specifically, the ...

  6. windows内存管理方式以及优缺点

    Windows内存管理方式:页式管理,段式管理,段页式管理 页式管理 将各进程的虚拟空间(逻辑地址)划分为若干个长度相等的页,业内管理把内存空间(物理内存)按照页的大小划分为片或者页面,从而实现了离散 ...

  7. android 遇到的细节 FAQ

    1.ListView 设置addHead 在3.0与之前版本若在:setAdapter之后添加,运行报错.4.0以后不报错 2.ListView  Adapter    getView函数忘记返回vi ...

  8. js 获取浏览器内核

    <script language="JavaScript" type="text/javascript">    var browser = {   ...

  9. 【HDU 4463 Outlets】最小生成树(prim,kruscal都可)

    以(x,y)坐标的形式给出n个点,修建若干条路使得所有点连通(其中有两个给出的特殊点必须相邻),求所有路的总长度的最小值. 因对所修的路的形状没有限制,所以可看成带权无向完全图,边权值为两点间距离.因 ...

  10. ASP.NET 委托,异步调用例子 .

    简要介绍:1.定义异步执行需要调用的方法2.定义具有与异步执行方法相同签名的委托(Delegate):3.调用 BeginInvoke 和 EndInvoke 方法.   3.1. BeginInvo ...