“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://segmentfault.com/a/1190000000443795

最流行的PHP 代码规范的更多相关文章

  1. 最流行的JavaScript代码规范

    什么是最佳的JavaScript代码编程规范?这可能是一个众口难调的问题.那么,不妨换个问题,什么代码规范最流行? sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果 ...

  2. 漫谈PHP代码规范

    前言 虽说PHP是世界上最好的语言,但是写出来的PHP代码却往往不是最美观的.究其原因,可能正式因为PHP简单易上手,适合快速迭代的特性,导致了我们沉浸在迅速完成需求迭代的窃喜中,却忘记了规范性.忽略 ...

  3. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》

    终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...

  4. Webpack 2 视频教程 010 - 配置 ESLint 实现代码规范自动测试 (下)

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  5. Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  6. 阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

    https://bbs.aliyun.com/read/306592.html?page=e 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准. 这 ...

  7. JavaScript必备:Google发布的JS代码规范(转)

    [翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...

  8. Java静态检测工具/Java代码规范和质量检查简单介绍(转)

    静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...

  9. Alibaba Java Coding Guidelines,以后的Java代码规范,就靠它了

    前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求.但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java程序员也无法做到时刻 ...

随机推荐

  1. Java表单类双击提交

    双击制御 有些时候一些操作会非常的耗费时间(Long Lived Operation),例如这个数据库的导出,表表生成等.有些时候程序的使用者看到很长时间服务器 没有反应,倾向于多次点击提交按钮.这样 ...

  2. HDU 1078 FatMouse and Cheese(记忆化搜索)

    FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  3. svchost.exe是什么?为什么一直在运行

    原文:http://www.howtogeek.com/howto/windows-vista/what-is-svchostexe-and-why-is-it-running/ 自己简单翻译了下,图 ...

  4. 【翻译】Kinect v1和Kinect v2的彻底比较

      本连载主要是比较Kinect for Windows的现行版(v1)和次世代型的开发者预览版(v2),以C++开发者为背景介绍进化的硬件和软件.本文主要是对传感的配置和运行条件进行彻底的比较.   ...

  5. 为什么我的联想打印机M7450F换完墨粉之后打印机显示请更换墨粉盒?这是我的墨盒第一次灌粉·、

    需要打印机清零,可以网上查到的,要不就去买颗芯片换上关掉机器 →开机的同时按住功能按扭不松手开机→进入维修模式→翻到84功能项→按OK→用下翻键找到PROCESS CHECK→按OK 按扭→关机→正常 ...

  6. mysql通过data目录恢复数据库

    mysql通过data目录恢复数据库 阅读:次   时间:2010-03-24 06:53:30   字体:[大 中 小]     重装系统后,MySQL服务没有了,但是数据库的文件还在,这个时候我想 ...

  7. 20145225 实验四《Andoid开发基础》

    实验内容 搭建Android环境 运行Android 修改代码,能输出学号 实验步骤 安装Android Studio 安装Android的SDK 运行Andriod Studio并在模拟手机上显示自 ...

  8. Andrew Ng机器学习公开课笔记 -- Online Learning

    网易公开课,第11课 notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf   和之前看到的batch learning算法不一样,batch ...

  9. jdk Tomcat配置

    安装Tomcat需要先安装JDKJDK安装JDK安装会有两次,两次不能再同一目录 你可以新建两个文件夹 JDK JRE 第一次安装在JDK 第二次在JRE在我的电脑右键属性 高级系统设置 环境变量 系 ...

  10. 批处理快速创建wifi

    为什么要用cmd这种古老的东西创建wifi呢,电脑管家.360安全卫士都有这种插件,一键开启关闭,多方便啊! 开始用的也是电脑管家的免费wifi插件,但是我越来越不能忍它极慢的启动关闭过程,每一次看着 ...