论坛首页 AJAX版 JavaScript

JSI Side 代码风格与规范

浏览 1382 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-01
关于私有元素的命名约定,我偏向于不要下划线,下划线书写起来就不方便,看起来也比较难看,和减号太像,损人眼睛,就让他和普通元素一样,关于区别,交给ide去处理。

我记得eclipse源码最初都是用下划线做私有成员的前最,后来他支持对私有对象的不同着色,那个约定也就随之取消了。

当然这个故事,不一定在js ide上重演,只是,我个人已经养成了这个习惯了,不用下划线。

我们更关心的是最终公开元素的结构,私有的东西,个人愿意怎么干都行吧。
   
0 请登录后投票
时间:2008-05-02
我建议还是应该用单下划线表示 非public的 property/method。当然closure里的local var不必用下划线。但是如果是对象上的prop/method,则需要区分是否public。Python的习惯似乎也是一样的。
   
0 请登录后投票
时间:2008-05-02
hax 写道
我建议还是应该用单下划线表示 非public的 property/method。当然closure里的local var不必用下划线。但是如果是对象上的prop/method,则需要区分是否public。Python的习惯似乎也是一样的。


赞成这个观点。
在私有属性上,使用_前缀。

关于私有方法,我已经养成了另外一个习惯,那就是使用内部方法(全局元素的形式,但不在包定义文件中注册)。
也不单是方法,一切常量性质的私有属性都可以使用内部元素的方法做到真正的私有。
单是如果这个私有元素是个实例的变量,那就不适用了。
   
0 请登录后投票
时间:2008-05-02
每种语言都有自己的访问控制方式

既然javascript没提供scope对象以外的私有方式 还非要用不是很奇怪吗?
   
0 请登录后投票
时间:2008-05-10
1. new String(”test”) != new String(”test”);
两次new String()得到两个(不同的)对象,内存地址当然不相同。

2. if(new Boolean(false)){
alert(”执行到”)
}else{
alert(”未被执行”)
}
new Boolean()得到的也是对象,在if里相当于true,当然“执行到”,你可以试一下: if(new Boolean(false).valueOf())
   
0 请登录后投票
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐
    快速回复 引用上一条消息 (Alt+S)