文档章节

谈优雅的PHP代码Elegant Code

taxilmc
 taxilmc
发布于 2016/08/08 18:53
字数 797
阅读 63
收藏 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
韶关
程序员
私信 提问
OperaMasks UI 2.1 版本发布了

OperaMasks UI2.1版本发布了 OperaMasks-UI是基于jQuery并提供丰富组件的前端UI库,致力降低应用的前端开发成本。此版本新增了一套elegant(优雅)皮肤,该皮肤致力于提供一套浅色样式,容易嵌...

0day
2013/02/13
4.2K
11
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

没有更多内容

加载失败,请刷新页面

加载更多

apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
1
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
5
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
3
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
5
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部