如何写成优雅的代码(格式篇)

如何写成优雅的代码(格式篇)
1.关于命名:
我个人比较支持的一种观点是,变量名的描述粒度与其变量作用域密切相关。比如,
如果我们
For($i=0;$i<count($array);$i++){
For($j=0;$j<count($array[$i];$j++){
//do more work...
}
}
这样的类似$i,$j的命名毫无坏处,甚至更利于阅读。i,j,m,n这种约定俗成的循环计数器可以让代码更精简且利于阅读。但是如果出现在
---conf.php----
$n = ’misko_lee’ ;    //name
$a = 18 ;    //age

---index.php ----

Echo $n . ’:’ . $a ;  

这种的代码完全让人一头雾水,比如压缩过的js代码。
如果改成
$name = ’misko_lee’ ;
$age = 18 ;
$adminName = ’misko_lee’ ;
$adminAge = 18 ;
我们如何去命名一个变量名应该与这个变量的作用范围相符。我们应该命名为$n,$name,$adminName,则需要考虑这个变量在多大的范围内使用,使用范围越大应该变量名描述越详细。
好的变量命名不需要注释。

除了命名之外,变量名还应该区分功能。
比如常量。 LOCALHOST_NAME (全大写完整单词,下划线分割)
私有变量: _varName;(声明该变量为私有属性,用于js等无在语言级别上约束的语言)。
类名:MyClass
方法/函数名(myFunc(),_myFunc())
...

以上方式仅仅是一些比较好的经验,总之,好的变量命名可以拒绝描述性的注释。



关于缩进。

我不支持完全按层级缩进的格式。个人认为,缩进超过四层就可以考虑拆分缩进了。
如:
If(){
If(){
If(){
If(){

}
}
}
}


我不喜欢这种缩进,我更喜欢

If(){
If(){

If(){


//第三层
If(){
If(){

}

}


}
}
}




也就是说,不要让文本编辑器出现横滚动条


三,如果某个对象的属性在某一局部区域类被大量引用,请创建变量缓存。

如果出现了
Function func ( &$obj ) {
$obj -> a = $obj -> b + 2;
$obj -> a = ( $obj -> a + 14 ) / $obj -> a;
}

如果出现了这种情况,那么使用
Function func ( &$ obj ) {
$cache = $obj -> a;
$cache = $obj -> b + 2;
$cache = ( $cache + 14 ) / $cache;
$obj -> a = $cache;
}
这种效率会更高。因为对一个对象的成员寻址过程比局部变量的选址过程复杂很多。

四.三元运算符。

如果仅仅是
If( $b ) {
$a = $b;
} else {
$a = false;
}

那么写成 $a = $b ? $b : false;  可能会更容易阅读。

五:关闭资源
无论如何,我们都应该在资源使用完后及时关闭。

比如我们进行了一次mysql_connect();连接。
那么我们必须在所有数据库操作结束后关闭mysql_close();
除非已经到了页脚。


六:
你们已经发现我所有的代码的操作都是有空格隔开的。

每一个笨蛋都可以写出计算机可以运行的代码,只有
程序员才可以写出人可以认识的代码。

原文地址:http://bbs.lampbrother.net/read-htm-tid-150401.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(22) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值