新足迹

 找回密码
 注册

精华好帖回顾

· 更新完毕。大阪奈良匆匆一游 - 奈良 (2015-1-6) 没有袖子的汗衫 · 2025 美味台北 好吃不贵 (2025-4-15) 胡须康
· 熊猫厨房--虾作!做虾(美极烤大虾,避风塘炒虾,小茴香油泡虾,茶盐焗虾)~~~~~付详细做法 (2014-11-13) 小白的熊猫 · 2016我要折腾! Owner Builder 建房-【完工,入住】 (2016-3-15) konichiwa
Advertisement
Advertisement
查看: 1716|回复: 14

PHP 的7个oop好习惯 [复制链接]

特殊贡献奖章

发表于 2011-4-14 13:38 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看到一篇不错的文章
做php一定要看看
做其他的语言的也可以看看,应该是相通的

我几乎所有的坏习惯都有

1。 要谦虚
2。 做个好邻居
3。 不要看美杜莎
4。 拥抱最弱的链接
5。 你是橡皮,我是胶水
6。 让它在家庭里
7。 用模型的方式思考

http://www.ibm.com/developerwork ... y/os-php-7oohabits/

评分

参与人数 5积分 +20 收起 理由
乱码 + 3 感谢分享
bulaohu + 6 你太有才了
porcorosso + 3 感谢分享

查看全部评分

Advertisement
Advertisement

发表于 2011-4-14 13:58 |显示全部楼层
此文章由 jands 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jands 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看 title 看不懂,進去看了一下,很有道理.

发表于 2011-4-14 15:17 |显示全部楼层
此文章由 不会游泳的鱼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 不会游泳的鱼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
very nice article

发表于 2011-4-14 17:23 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
呵呵反正我就是没跟足。。。有时候不够时间,木有办法啦。。。

发表于 2011-4-14 20:32 |显示全部楼层
此文章由 dcc82 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dcc82 所有!转贴必须注明作者、出处和本声明,并保持内容完整


[ 本帖最后由 dcc82 于 2011-4-14 20:51 编辑 ]

特殊贡献奖章

发表于 2011-4-14 20:42 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个作者写的很不错
有比喻有典故
举的例子也很清楚
改改可以去讲个lecture了
Advertisement
Advertisement

发表于 2011-4-14 20:51 |显示全部楼层
此文章由 dcc82 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dcc82 所有!转贴必须注明作者、出处和本声明,并保持内容完整
PHP程序员除了oo,算法等等以外, 最重要的是follow conventions, 这个都做不到其他根本就免谈, 这个convention可以是pear也可以是zend,但必须要严格遵循

有些公司在面试的时候要求发小部分代码片段, 其实就是看你有没有conventions, 有没有合理注释, 写一个只能自己理解的天书代码就算效率再高也没用.

给你个例子吧, 如果你是遵循zend,像
if (xx) {
} 写成
if(xx)
{
}
$var = 'abc' 写成 $var="abc"等等太多了
这些都是完全不符合的, 在我们团队中这样做的话, 完全连repository都无法commit进去的, 必须完全改正了才能通过commit validation, 这似乎挺变态的, 但其实也就是小意思, 好处就是, 所有人写的代码完全一样, 并不是说思想一样,但表现方式一样,看别人的代码就是感觉在看自己的代码. 这样有人走了也不怕,新来的人同样这样做,代码质量的保证虽然并不完全取决于conventions,但如果这都做不到基本上是没希望的, 最直接的负面反应就是很多人在看别人的代码的时候都是在骂爹骂娘骂上帝

特殊贡献奖章

发表于 2011-4-15 09:21 |显示全部楼层

回复 dcc82 7# 帖子

此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个是真的

你举的这两个例子倒不会造成多大的困扰
我遇到的缩进不同困扰比较大,有的人用tab缩进,但tab也没有设置成4个空格,换了个编辑器读起来就想吐了

发表于 2011-4-15 11:08 |显示全部楼层
此文章由 dcc82 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dcc82 所有!转贴必须注明作者、出处和本声明,并保持内容完整
tab缩进的确是很烦的一件事,所以像我上面所提到的,如果team当中在commit repository之前能做一遍代码检验是非常有必要的,你多空或少空一格都会把那个文件揪出来,更别提花括弧是该在同一行还是下一行, 变量名是否规范等等问题了

不知道有多少做PHP的有用continuous integration的,代码检验只是最初的一步,后面unit testing和auto deployment(涉及到database auto-upgrade/downgrade, 文件权限,以及瞬间恢复)都是非常重要的,开发和部署PHP可以简单到什么都没有,一个记事本和ftp搞定,但要做的专业一点的话,对每一步都要仔细安排, 而并不是光是development就可以的

这也是为什么很多招聘简介中要求熟悉SDLC的原因

发表于 2011-4-15 11:09 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
.net这边可能容易点,resharper(vs No.1 add-on)上有template可以被整个team share,上面有大家都需要遵循的各种规则,包括格式,命名....

如果违反,resharper会有real time underline的提示,有shortcut修正,非常容易,可以把developer解放出来,关心些更有意义的事情。

[ 本帖最后由 乱码 于 2011-4-15 11:12 编辑 ]

发表于 2011-4-15 11:21 |显示全部楼层
此文章由 dcc82 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dcc82 所有!转贴必须注明作者、出处和本声明,并保持内容完整
嗯, .NET那边不是很清楚, 但是我忘记说了php上面也是实时提醒的,程序员可以选择不改,但是commit时候会强迫你去改,否则别想commit进去
而且commit的时候先做unit testing如果返回错误的话,也别想commit进去

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1积分 +3 收起 理由
kr2000 + 3 感谢分享

查看全部评分

Advertisement
Advertisement

特殊贡献奖章

发表于 2011-4-15 11:27 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这是用的神马工具
能把你公司用的那些工具都介绍一下吗

原帖由 dcc82 于 2011-4-15 11:21 发表
嗯, .NET那边不是很清楚, 但是我忘记说了php上面也是实时提醒的,程序员可以选择不改,但是commit时候会强迫你去改,否则别想commit进去
而且commit的时候先做unit testing如果返回错误的话,也别想commit进去
377370

发表于 2011-4-15 12:38 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
是netbean 吗?netbeanIDE可以commit的

特殊贡献奖章

发表于 2011-4-15 14:44 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
netbean是 commit到哪里去
svn吗?是不是要装插件

原帖由 porcorosso 于 2011-4-15 12:38 发表
是netbean 吗?netbeanIDE可以commit的

发表于 2011-4-15 19:58 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 kr2000 于 2011-4-15 14:44 发表
netbean是 commit到哪里去
svn吗?是不是要装插件



Natively support Mercurial and SVN...Netbean IDE 不错的,但是有些功能没有。。。之前用的最爽的还是Zend Studio 5.5

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部