大家写 php 代码都用哪一套编码规范?你们都了解自己的编码规范的好处吗?

2014-05-28 01:51:17 +08:00
 tonitech
昨天在公司跟同事们定编码规范,我一直采用的是PSR-2的规范,我推荐使用它。而有些同事无法接受class和function后面的花括号另起一行,我们陷入了争论之中,我也想不出为什么class和function后面的花括号要另起一行,有什么好处?

我的想法是既然是团队协作开发,那我们必须要有一套自己的规范标准,不能因为不喜欢而不使用。规范就像宗教信仰,你要有自己的信仰,就得找到一个信奉的神灵。
5952 次点击
所在节点    PHP
40 条回复
lm902
2014-05-28 02:30:45 +08:00
我表示格式都是Visual Studio给我自动改的,无论我是怎么写的都会自动改过来
tonitech
2014-05-28 02:34:23 +08:00
@lm902 你用vs不是写php的啊
lm902
2014-05-28 02:35:45 +08:00
@tonitech PHP也有啊
tonitech
2014-05-28 02:39:33 +08:00
@lm902 对啊,用Zend Studio有format功能,里面可以选择format的code style,就有PSR-2选项的,但是有人不喜欢这个规范。。。
yangqi
2014-05-28 02:41:32 +08:00
感觉花括号最不重要,重要的是命名规范
lm902
2014-05-28 02:43:16 +08:00
@yangqi 命名规范+1
lm902
2014-05-28 02:44:02 +08:00
要不然写出 com.Company.name_space.classname().methodName()就233了
xuwenmang
2014-05-28 07:10:35 +08:00
没好处!
1、显示器越来越扁,起始花括号另起一行?不觉得占行数啊。
2、起始花括号起的是承上启下的作用,在同一行,非常明确是属于哪个逻辑。而另起一行,感觉生生被剥离了这种关系。
3、其实我是看了2天drupal的代码,习惯了!但是上面两条是非常明确地。
holystrike
2014-05-28 07:44:58 +08:00
Class function namespace 另起一行是为了区分逻辑代码,因为这哥仨是语言结构,不是逻辑,
if else switch while 才是逻辑,一眼看到起头花括号起头了,表示接下来是一个代码段,看到在屁股后边,那么接下的代码就表示程序要进行逻辑上的处理了
lm902
2014-05-28 08:14:49 +08:00
<?
class Example
{
/// <summary>
/// Fxck the $target
/// </summary>
function Fxck ($target)
{
echo "$target is fxcked."
}
}
?>
表示我差不多就是这样写PHP
kslr
2014-05-28 08:44:48 +08:00
PSR-2 函数重启一行,其他均为屁股后面。
tonitech
2014-05-28 09:09:31 +08:00
@holystrike 谢谢!
hellov22ex
2014-05-28 09:11:06 +08:00
8楼的哥们是逗人么,第一条就在瞎掰
mahone3297
2014-05-28 09:19:36 +08:00
又是一个争论贴?
我觉得psr-2规范挺好。。。。我也比较喜欢class, function 花括号换行。。。
belin520
2014-05-28 09:20:14 +08:00
@hellov22ex 哈哈,会引发决斗的

我写PHP这样
function func()
{

}

写前端这样:
function func(){

}
ichou
2014-05-28 09:22:48 +08:00
@belin520 握爪
zjdboy
2014-05-28 09:24:41 +08:00
你为什么不自已改变规范,改变信仰
tonitech
2014-05-28 09:34:40 +08:00
@zjdboy 因为不满意的是少数人。
micate
2014-05-28 09:46:21 +08:00
不接受就开掉换个能接受的好了。
kakaryan
2014-05-28 09:49:31 +08:00
总有人的意见不一致的.关键是要确定一个代码规范,不通过代码规范检查不能提交代码,就算绕过代码规范检查,合并代码上线的时候也需要做检查,不符合规范不允许提交.形成规范代码的习惯才是目的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX