“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