文档章节

谈优雅的PHP代码Elegant Code

taxilmc
 taxilmc
发布于 2016/08/08 18:53
字数 797
阅读 66
收藏 0

不知道什么时候开始,“优雅的代码”就经常出现在同学和同事的口中...

Exo me?啊哈程序猿什么时候变得如此文艺如此高品质?

(其实在我脑海中浮现的是拿着红酒杯,轻轻摇晃杯里的波尔多红酒,闻一闻来自遥远欧洲小镇的浓郁果香,抿一抿红酒,再缓缓地敲出心仪的代码...)←真·优雅程序猿。

 

嗯扯远了,带着满满的求知欲百度了 “优雅的代码”& ”elegant code”,选了几个比较有营养的网址贴出来吧:

http://www.zhihu.com/question/28492982

http://www.zhihu.com/question/24932326

http://www.docin.com/p-499721084.html

http://programmers.stackexchange.com/questions/97912/how-do-you-define-elegant-code

至于是谁创始了“优雅代码”这一说法的,反正我也查不出来额...而且明明就是说代码整洁啊,易读啊,可复用性强啊,说成优雅真是太矫情了吧,了吧,吧...

 

反正我的理解是酱的↓

首先是对于编程语言都通用的:

1.写注释

一般是每个函数、类的方法和成员要注释一下什么意思,如果有必要,一些复杂程序块也注释一下用法和意思。反正太少不好,太多也看晕人。

 

2.缩进和换行

其实我没有注意这点,因为我的IDE强大到可以自动缩进_(:з」∠)_,安利一下大家jetbrains公司的phpstorm,貌似jetbrains公司出来的IDE都很厉害,有webstorm(写HTML和JS)、pycharm(写python)。还是言归正传吧...好的代码结构从缩进和换行就看得出来。

 

3.命名方式统一且易懂

现在主流命名是,常量就用全大写(LIANGMINCONG),变量就驼峰命名法(也有人说是小驼峰命名法)(liangMinCong),或者是带下划线的(liang_min_cong),反正就是一个产品里面的命名方式要一致,命名最好就是变量or方法功能的英语,也能起到一定解释说明的作用。

 

4.代码分类型分块存放

没什么好说的诶。就好像JS的话click事件放一块,dbclick事件放一块,有逻辑可寻不用瞎找,PHP的话一般的类public方法写前面,因为要给别人看,private和protected方法移在后面。

 

接下来说一下个人的一些想法吧,当然也综合了网上各家之言:

1.PHP用单引号代替双引号要高效,因为双引号还要检查是不是有变量存在。

2.用类似C++/C原生的语法会更高效,因为貌似本来就先编译成C++/C。比如$i++;就比$i=$i+1快。

3.多用PHP内置函数,比自己写函数要高效。比如in_array比自己遍历数组来判断是否存在要快吧。

4.MYSQL查询时尽量不用*,用具体字段名代替。这个见仁见智吧,我认为字段名能更好理解程序代码。

5.MYSQL对于常查询的列,试着建立索引。

 

如有错误,恳请指点。_(:з」∠)_,谢谢观看。

 

参考网址:

http://blog.csdn.net/initphp/article/details/7684433

http://blog.csdn.net/initphp/article/details/7788003

© 著作权归作者所有

共有 人打赏支持
上一篇: 对HMVC的看法
taxilmc
粉丝 2
博文 14
码字总数 10216
作品 0
韶关
程序员
私信 提问
2013年"其实你不用去远方--长沙十月好代码"

代码就是一切! 代码是程序员沟通最直接的手段!代码是技术交流的手段!代码是需求交流的途径! 架构是代码!需求是代码!测试是代码! 单元测试,毫无疑问。 集成测试,压力测试,也是代码!...

曾沙
2013/10/09
2.8K
57
2013年"其实你不用去远方--长沙十月好代码"活动

时间:2013年10月20日(星期日)下午13:30(13:00开始签到) 地点:湖南师范大学外国语学院515学术报告厅 收费:本次活动不收取任何费用。 报名:请点击 http://city.oschina.net/changsha/e...

王蓉
2013/10/09
1K
20
JavaScript开发规范 0.01版

JavaScript开发规范v0.01 终极原则:简洁,明晰,优雅。 所谓简洁,可以只写一遍的代码,绝不写两遍; 所谓明晰,尽量只用人类能一眼看明白的写法。 所谓优雅,能让阅读代码的人感受到一种莫...

我擦_得弄个昵称
2014/08/11
0
0
当我们谈 XML 布局文件代码的优雅性

当我们谈 XML 布局文件代码的优雅性 Drakeet的个人博客2016-04-24109 阅读 AndroidLayout技术Idea 当我们谈代码的优雅性,是不可以忽略经常在打交道的 Android XML 布局文件的书写。有人会问...

Drakeet的个人博客
2016/04/24
0
0
12款非常精致的免费 HTML5 & CSS3 网站模板

01. Joefrey Mahusay 很炫的单页网站模板,基于 HTML5 & CSS3 制作,适合用于设计师个人简历、摄影师和平面设计师的个人作品展示。 演示 下载 02. Folder Folder是一款响应式 HTML5 网站模板...

未来十年
2013/08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Temp-Memo

SQL High CPU troubleshooting checklist SELECT TOP 50[Avg. MultiCore/CPU time(sec)] = qs.total_worker_time / 1000000 / qs.execution_count,[Total MultiCore/CPU time(sec)] = ......

Goopand
9分钟前
1
0
dotConnect for Oracle入门指南(七):存储过程

【下载dotConnect for Oracle最新版本】 dotConnect for Oracle(原名OraDirect.NET)建立在ADO.NET技术上,为基于Oracle数据库的应用程序提供完整的解决方案。它为设计应用程序结构带来了新的...

电池盒
11分钟前
1
0
如何使用阿里云ARMS轻松重现用户浏览器问题

客户投诉不断,本地却无法重现? 页面加载较慢是用户经常会反馈的问题,也是前端非常关注的问题之一。但定位、排查解决这类问题就通常会花费非常多的时间,主要原因如下: 页面是在用户端的浏...

阿里云官方博客
15分钟前
1
0
因资源用尽导致服务宕机

1. 事故的发生 服务调用场景和发生的事件如下图所示,红色表示服务不可用. 服务A和服务B都是内部服务,服务C_*为不同运营商提供的服务,遵循一样的协议。 某一天,突然发现所有服务A调用服务...

北风刮的不认真了
19分钟前
2
0
锤子科技"临死前"被"接盘" ,内部人士爆料已改签今日头条母公司

就在昨天,据据锤子科技内部人士透露,部分锤子科技员工在昨天已经接到了相关的临时通知,要求改签劳动合同至今日头条的母公司——字节跳动。至于这是锤子科技真正再度复活还是借尸还魂都不重...

终端研发部
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部