最流行的PHP 代码规范
“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 代码规范的更多相关文章
- 最流行的JavaScript代码规范
什么是最佳的JavaScript代码编程规范?这可能是一个众口难调的问题.那么,不妨换个问题,什么代码规范最流行? sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果 ...
- 漫谈PHP代码规范
前言 虽说PHP是世界上最好的语言,但是写出来的PHP代码却往往不是最美观的.究其原因,可能正式因为PHP简单易上手,适合快速迭代的特性,导致了我们沉浸在迅速完成需求迭代的窃喜中,却忘记了规范性.忽略 ...
- 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》
终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...
- Webpack 2 视频教程 010 - 配置 ESLint 实现代码规范自动测试 (下)
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- 阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载
https://bbs.aliyun.com/read/306592.html?page=e 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准. 这 ...
- JavaScript必备:Google发布的JS代码规范(转)
[翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
- Alibaba Java Coding Guidelines,以后的Java代码规范,就靠它了
前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求.但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java程序员也无法做到时刻 ...
随机推荐
- CSS2系列:BFC(块级格式化上下文)IFC(行级格式化上下文)
BFC 块级格式化上下文,不好理解,我们暂且把她理解成"具有特殊的一类元素" 哪些元素会生成BFC? 根元素 float属性不为none position为absolute或fix ...
- github 向导/介绍
环境:windows 7 64bit 阅读了http://guides.github.com的教程. 流程 git是协作版本管理的一种方法.工作流程是在一个主线基础上发展分支(branch),最后并入 ...
- PHP ip 查找 城市名
PHP ip 查找 城市名 header("content-type:text/html;charset=utf-8");date_default_timezone_set(&qu ...
- 【翻译】Kinect v2程序设计(C++) Body 篇
Kinect SDK v2预览版的主要功能的使用介绍,基本上完成了.这次,是关于取得Body(人体姿势)方法的说明. 上一节,是使用Kinect SDK v2预览版从Kinect v2预览版取得B ...
- php常用Stream函数集介绍
php常用Stream函数集介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-24 本篇文章是对php中的常用Stream函数集进行了详细的分析介绍,需要的朋友参考下 ...
- PHP抓取采集类snoopy介绍
PHP抓取采集类snoopy介绍 一个PHP的抓取方案 在 2011年07月04日 那天写的 已经有 10270 次阅读了 感谢 参考或原文 服务器君一共花费了14.288 ms进行了2次 ...
- HTML: css 修飾文本和字體
因爲這個我認爲不用記,所以關於css 修飾文本&字體的屬性只需要打開css手冊,找到(屬性 > 文本) & (屬性 > 字體)翻看即可. 關於字體屬性: Propertie ...
- Bootstrap页面布局5 - 响应式布局(格式)
旨在优化不同上网设备中页面显示的优化 响应式布局:就是根据浏览窗口的尺寸,改变页面的变化 原理:利用css的media-queries判断浏览窗口的尺寸,在CSS样式表中设置一些规则! 例如: 在&l ...
- 【转】Unity 解析Json字符串
http://blog.csdn.net/qq_15267341/article/details/52013190 LitJSON使用很简单,两个步骤: 1 将LitJSON.dll文件拖动到unit ...
- Asp.Net MVC Control向View传值
1.通过View(Parameter)参数传值 Control: namespace MyMVCDemo.Controllers { public class PersonControlle ...