本文主要是对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. Thinking In Java读书笔记--对象导论

    Thinking In Java读书笔记--对象导论[对象]服务提供者==>将对象看做一个服务提供者[程序员分类][类创造者]/[客户端程序员] [访问控制存在的原因?][1]客户端程序员无法触 ...

  2. C#同步数据库的数据到Neo4J

    数据组件采用https://github.com/Readify/Neo4jClient 在nuget里面有 需要注意的是 以下是示例代码: using System;using System.Col ...

  3. intellj idea maven 无效的目标发行版: 1.8

    File ->settings->maven->runner->jre -> jdk1.8

  4. python版去UTF-8 BOM

    今天给app弄银联支付接口.直接copy银联的sdk.结果.安卓和ios始终报json格式错误.找了半天.都没找到问题.最后怀疑可能是BOM破坏了json的数据格式转换.验证后确认是BOM的问题.为方 ...

  5. 理解ThreadLocal(二)

    首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...

  6. Intent七在属性之一:ComponentName

    注:在<疯狂android讲义>中,此属性称为Component,官方文档中称为ComponentName. 1.The name of the component that should ...

  7. Kali Linux 新手折腾笔记

    http://defcon.cn/1618.html 2014年09月29日 渗透测试 暂无评论 阅读 55,052 次   最近在折腾Kali Linux 顺便做一简单整理,至于安装就不再多扯了,估 ...

  8. 【CKEditor ASP.NET】解决360安全浏览器极速模式下不显示

    博主问题只是出在误删了style.js文件 首先我用的是这种模式,在单个页面上导入: <%@ Register Assembly="CKEditor.NET" Namespa ...

  9. Thinking in C++: 第1章 为什么C++会成功(改进了C的缺点,可复用C的知识与库,执行效率相当)

    本文内容摘抄自C++经典书籍:<Thinking in C++>   操作概念:OOP程序像什么 我们已经知道,用C 语言编写的过程程序就是一些数据定义和函数调用.要理解这种程序的含义,程 ...

  10. Android_listview设置每条信息的间距

    Android_listview设置每条信息的间距 设置listView的item间距,可以在xml布局文件中的listView下设置xml属性: android:divider="#000 ...