文档章节

谈优雅的PHP代码Elegant Code

taxilmc
 taxilmc
发布于 2016/08/08 18:53
字数 797
阅读 59
收藏 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

© 著作权归作者所有

共有 人打赏支持
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
12款非常精致的免费 HTML5 & CSS3 网站模板

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

未来十年
2013/08/12
0
0
当我们谈 XML 布局文件代码的优雅性

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

Drakeet的个人博客
2016/04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部