免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: asuka2001
打印 上一主题 下一主题

命名难,难于上青天 [复制链接]

论坛徽章:
0
81 [报告]
发表于 2012-02-11 01:07 |只看该作者
还是用匈牙利 命名法比较好

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
82 [报告]
发表于 2012-02-11 06:00 来自手机 |只看该作者
决定清晰度的是逻辑本身是否简洁, 越简单越好, 越行数少越好, 对变量的引用越少越好, 变量的可见域越小越好。 虽然这几个也往往相互矛盾。 单单追求什么命名法,一定要什么匈牙利, 什么驼峰, 更变态的如什么形参名一定是以aXxx的形式之类, 纯属毛病。

论坛徽章:
0
83 [报告]
发表于 2012-02-11 08:31 |只看该作者
本帖最后由 三月廿七 于 2012-02-11 09:37 编辑
OwnWaterloo 发表于 2012-02-10 21:40
隐藏定义相对private在二进制兼容性上更好,但有运行时代价的强制性规则。
private是二进制不兼容,但 ...


以我个人的代码经验: 数据的仿问属性为 public,是会方便很多的

在前期的易 仿问/修改 和 后期的易 扩展/维护之间无法作出一个平衡
虽然可能存在 后期的 扩展/维护(更改实现、切换实现、统一接口...)这个需求, 但是不应该为了这个 可能 丢掉 前期的易 仿问/修改

所以,数据(非第三方插件)的仿问属性只有 public, 没有private
这也符合当前 c 语言的实际情况。

我在怀疑,有private关键字的语言是不是个屎,  ADT  是不是也是个屎??
我个人现在倾向这些都是屎, 我很高兴你帮我推翻了多名权威人士的论点...

论坛徽章:
0
84 [报告]
发表于 2012-02-11 10:06 |只看该作者
我很佩服那些一开始就反对 面向对象的人,也佩服那些对面向对象一无所知的人

论坛徽章:
0
85 [报告]
发表于 2012-02-11 10:29 |只看该作者
本帖最后由 三月廿七 于 2012-02-11 11:14 编辑

其实,我第一次接解 Java的时候,就有人告诉我:面向对象 是忽悠人的。
当我第二次接触C++的时候,又有人告诉我:程序就是if/else

以前我也经常这样说,但是实际上我还不信.
浪费了很长时间,才相信了这两句话

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
86 [报告]
发表于 2012-02-11 20:23 |只看该作者
回复 83# 三月廿七

不是方便,而是本来就应该如此。

private貌似是C++开了个不好的头……
它只是在主流语言里见得多,C++/Java/C#...
没有private的语言也很多的: lua/python/javascript/许多lisp...

其实语言提供这样一种机制,当需要时能够让编译器协助检测一些约束条件,本来是件好事。
但就是存在"语言有、我就用,否则对不起自己"的人;就成了无论何时都要用。

类似的例子还有java的checked exception。
其实本来也是件好事,但Gosling那个蠢货非要说它很好很好,于是一帮子没脑袋的人就信进去了,然后被滥用,然后又反省。
基本上应该只此一家了,后续的其他语言、库都不再使用这玩意了。

private也是,python应该与C++出现时间差不多、甚至还晚一点,就没有用这东西。

论坛徽章:
0
87 [报告]
发表于 2012-02-11 20:58 |只看该作者
回复 86# OwnWaterloo

你的很多帖子我看不懂,这个帖子我是看懂了
本人对你是佩服的五体投地   

论坛徽章:
0
88 [报告]
发表于 2012-02-11 21:09 |只看该作者
回复 87# 三月廿七

你是不是学过心理学?
在心理学家眼理,没有正常的人哦.

论坛徽章:
0
89 [报告]
发表于 2012-02-11 22:01 |只看该作者
private 和 protected 还是有用的。

class my_class
{
    friend class object_pool;
protected:
    my_class() {} // protected constructor允许继承,但禁止绕过object_pool来创建该对象
};
class my_derived_class : public my_class
{
    friend class object_pool;
    my_derived_class() {} // private constructor 不允许继承,且禁止绕过object_pool来创建该对象
};

论坛徽章:
0
90 [报告]
发表于 2012-02-12 23:54 |只看该作者
回复 82# zylthinking


    赞同。

某书看到过人的短暂记忆一般在8个变量,也就是人的寄存器大概是8个,但是长期记忆的空间就很大。
编程的时候控制if等条件嵌套可以明显让代码可理解性提高
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP