免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: prolj

你会得意的封装么? [复制链接]

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
发表于 2009-12-05 22:54 |显示全部楼层

回复 #41 zhosyan 的帖子

这个不是封装,是脑子有屎.
我也见过这样的代码,n个函数,一个套一个,最后一个几百行

论坛徽章:
0
发表于 2009-12-06 05:50 |显示全部楼层
我觉得封装应该至少有两点功能:

1.隐蔽语言细节,使大家更加专注于业务本身,而不是陷入语言细节中。

2.封装的是变化,封装应该不应该丧失原有函数的灵活性,即不仅仅是对底层代码的简单嵌套,而应提供更多有利于业务开发的功能,否则真的像脱了裤子放屁。


我记得电视剧《沧海》里进行长波台设计时,马建成一意孤行用先模块后集成的开发方法来开发长波电台,但是大部分其他的人都要求用先设计总图然后再分模块进行的方式来开发。
我觉得马建成做的很正确,当我们开发一个从未开发过的东西时,不可能已开始就封装的很好,只能一点点的去实现功能,而初始这些代码,很有可能被后来进行重构的人说很垃圾,殊不知,没有这些垃圾代码哪有现在他们重构的机会。

希望不要再见到“傻逼”之类的词语,我们只是在讨论一个事实,进行人工攻击造成几点损害:1.你对此问题可能会丧失客观性。2.说明你本身人品有问题。3.我们要的不是侮辱和谩骂,而是对真理的探究。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2009-12-06 08:22 |显示全部楼层
原帖由 koolcoy 于 2009-12-4 14:51 发表
封装还可以封装复杂的借口。例如,win32里创建一个窗口的函数太复杂,就可以把它封装成一个只需要一两个参数的函数。


不知道你具体打算怎么做。

在这点上,我见过的几乎所有代码,所谓的封装参数,更准确的说法是限制参数。
需要其他参数的时候, 又怎么办?
这是第1个毛病。


第2个毛病是:这会让熟悉win32 sdk的开发者感到困惑,增加学习成本。
本来么,就只需要学sdk那一套。 结果现在要学另外一套, 在另外一套不起作用时(经常)又不得不退回原来那一套。


sdk本身就是完整的概念。需要做的只是完善,修补C语法不足。
或者,牛逼的,可以提出自己新的概念; 而不是仅仅简单转发。
在这个参数过多的问题上, sdk已经设计为这个样子, 再封装也是无用,没法提出一个"创建窗口"的新的方式。

最多只能用named argument改善一下设计。

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
发表于 2009-12-06 10:14 |显示全部楼层

回复 #43 hobbs136 的帖子

那要是碰见那种人,你给他说,你还是到大学回炉一下吧,老哥算是求你了

论坛徽章:
0
发表于 2009-12-07 00:03 |显示全部楼层
原帖由 雨过白鹭洲 于 2009-12-4 09:22 发表
大家都对封装这么反感。。

我不得不说,我自己基本不玩封装,但是我一直都在用别人的封装,有什么理由不用呢?

C语言我经常使用的有NSPR, glib和APR偶尔用用,但是不会混着用

C++就更狠了,做个系统基 ...

虽然我不是高手,但我支持你。

有现成的,为什么不用了(当然是合法的使用)?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2009-12-07 00:07 |显示全部楼层

回复 #46 jqxl0205 的帖子

其实lz的意思就是:如果现有的已经足够好,就没有必要再去给它"封"+"装"一次。

lz反对的是,不管3721,拿到现有的库,第1反应就是"封"+"装"。

不晓得ls某些人理解成什么了。或者是回帖不看贴

论坛徽章:
0
发表于 2009-12-07 01:03 |显示全部楼层
这么晚了,滑铁卢兄还在啊。
小弟失意所致,不知兄台为何也这么晚啊。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2009-12-07 01:42 |显示全部楼层

回复 #48 youshuang 的帖子

刚吃完饭

论坛徽章:
0
发表于 2009-12-07 09:25 |显示全部楼层
封装不是目的,只是手段。

论坛徽章:
0
发表于 2009-12-07 14:45 |显示全部楼层
封闭本身就是对于既有规则的一种遵守。
或者说保证代码质量与设计意识的一种手段。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP