相关疑难解决方法(0)

长期存在的错误编程假设

我正在研究初级(也许是高级)软件工程师的常见错误和不良假设.

你最久以来最终纠正的假设是什么?

例如,我误解了整数的大小不是标准,而是取决于语言和目标.国家有点尴尬,但确实如此.

坦率地说; 你有什么坚定的信念,大致你维持这个假设多久了?它可以是关于编程,编程语言或计算机科学的算法,语言,编程概念,测试或其他任何内容.

methodology

281
推荐指数
90
解决办法
3万
查看次数

在闭包与标准类中声明的类没有闭包

通常我使用基于原型的标准OOP方法,我的类看起来像这样

var std = function(){
   this.log = function(msg){ console.log("want to be private. " + msg) };
};

std.prototype = {
    logInfo: function(msg){
        this.log(msg);
    }
};
Run Code Online (Sandbox Code Playgroud)

但在这种情况下log是公共方法,任何人都可以使用它.但我希望将其设为私有,但仍可在原型中声明的方法中使用.为此,我们需要关闭.代码将更改为此

var closureStd = (function(){
var std = function(){};
var log = function(msg){ console.log("I'm really private, youhooo!" + msg) };

std.prototype = {
    logInfo: function(msg){
        log(msg);
    }
};

return std;
})();
Run Code Online (Sandbox Code Playgroud)

所以我的问题:是之间的区别是什么stdclosureStd什么是我需要支付能够调用从原型私有方法的价格是多少?

javascript oop closures prototype

6
推荐指数
1
解决办法
1130
查看次数

Java - Class方法可以看到同类参数的私有字段

我遇到了一个相当奇怪的行为,并且不确定这是Java问题还是Eclipse问题.

请使用以下代码:

class Foo {
  private String text;

  public void doStuff(Foo f) {
    System.out.println(f.text);
  }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是,为什么f.text可以访问?这是一个私有领域,所以根据我的逻辑,它不应该,但IDE似乎认为它是.

java methods private access-modifiers

4
推荐指数
1
解决办法
1362
查看次数