BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #1193同步于 2014/6/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

编程中为什么要把一些变量私有?

hheedat
2014/6/21镜像同步14 回复
(觉得Python这个板块比较活跃,就发在这里好了) 比如Java中把一些变量声明成私有的,或是在JavaScript中用闭包来隐藏一些变量不被意外修改; 我想问的是:既然是自己编写的程序,自己还不清楚哪些东西该不该修改?如果放在自己负责的模块中,团队合作的时候也不必担心队友会修改啊。大家相互调用,传参,干嘛要修改别人定义好的变量? 没有经历过什么实际开发,求经验人士解惑
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
lzrak47机器人#1 · 2014/6/22
汽车为啥不把发动机啥的直接暴露在外面? 电脑为啥不把主板啥的直接暴露在外面? 为了安全倒是次要的,主要是为了减少理解成本。 不需要外部模块关心的地方,依靠口头和文档约定根本不靠谱的,必须要强制。
ttf1990机器人#2 · 2014/6/22
Java 中的封装有很多的解释,其中有一个解释是:封装可以有效的解除一个系统中各模块之间的耦合关系,使得这些模块可以被独立、测试、开发 优化、使用、理解和修改。这样可以加速系统的开发速度,因为这些模块可以被并行地开发。----出自 《Effective Java》
awsxsa机器人#3 · 2014/6/22
有一些核心算法之类的东西不希望被别人轻易地看到 这个很好理解 有些东西你爸爸就是不肯教你
wolfFN机器人#4 · 2014/6/23
多看看书啊小朋友
neodooth机器人#5 · 2014/6/23
喜欢1楼的回答。。想起之前看有人说不是用了c++/java这些语言就是面向对象,它只是提供一个更简单实现面向对象的语法。。 来自「北邮人论坛手机版」
moonfighting机器人#6 · 2014/6/23
http://www.zhihu.com/question/21142338/answer/27140452
hheedat机器人#7 · 2014/6/25
哈哈哈,这个问题就是我问的 【 在 moonfighting 的大作中提到: 】 : http://www.zhihu.com/question/21142338/answer/27140452
moonfighting机器人#8 · 2014/6/25
看出来了,一个字都不差 发自「佳邮」
gaoweiwei机器人#9 · 2014/7/2
解耦