小编Tig*_*gra的帖子

需要js废墟代码导航

require.js陈述define([requiremens], object)以最佳方式在模块内定义对象的方式.

因此,每个页面或其他js文件都将require()调用和接收模块作为参数.

这很好用,每个函数/模块都有自己的命名空间.

问题是我有:

// AJAX/Requests.js

define(['UI/Message'],function(Message){
var Requests={
    checkResponse:function(response){
        //1==ok
        //0==error
        //2==good message
        //3==good message, but still stop
        if(response.status==1){
            return true;
        }
        else if(response.status==2){
            Message.good(response.message);
            return true;
        }
        else if(response.status==3){
            Message.good(response.message);
            return false;
        }
        else{
            Message.bad(response.message);
            return false;
        }
    }
};
return Requests;
});
Run Code Online (Sandbox Code Playgroud)

现在,UI/Message以相同的方式定义,并返回对象.

但是当我用请求编辑文件时,我无法通过代码导航,所以如果我想编辑Message对象,唯一的方法就是自己打开文件并找到我需要的函数,而不是让IDE跳到那里为了我.

是专门针对pycharm还是针对require.js的一些解决方法来解决这个问题?当你有很多代码时,导航它就变得一团糟,这就是我首先使用IDE的原因!

更糟糕的是:编辑永远不知道对象有什么功能!

我可以看到的一种可能的解决方案是不使用封闭的命名空间,并在define()调用之前声明全局变量,但在这种情况下,所有对象都应该像UI_Message,AJAX_Requests一样被调用.为了确定,我在两个不同的位置没有一些消息....

我不确定,如果require.js优化器将正确使用它.Require.js文档说明非常清楚,远离全局变量.

javascript intellij-idea pycharm requirejs js-amd

19
推荐指数
1
解决办法
6062
查看次数

类工厂/选择器的python rtype docstring/restructured text

:rtype:指定这是返回对象的类型

因此,当我obj在下面的代码片段中创建对象时,我收到来自IDE的警告cls is not callable,因为IDE期望,这clsobject类型的SomeAbstractClass,我想要SomeAbstractClass自己

IDE是对的,因为这是默认行为.但是我如何指定,我正在返回课程,而不是课程的实例?
指定type而不是SomeAbstractClass帮助,但不是解决方案,因为没有进一步的内省可用.

def class_selector(data):
    """
    :rtype: SomeAbstractClass
    :return: Return some class based on given parameters
    """

    return get_from.get(data.name)
cls = class_selector(data)
obj = cls(data.more_data)
Run Code Online (Sandbox Code Playgroud)

同时我通过""":type: SomeAbstractClass"""在创建对象后添加来解决这个问题 ,但是这并没有取消警告并且它是脏的解决方案.

顺便说一句,谈论python 2.x.

python restructuredtext docstring pycharm

10
推荐指数
1
解决办法
2427
查看次数

什么更有效?类定义中的dict或func定义中的dict?

我有一些对象将始终存储在内存中,并且会有数千个实例,因此有效使用内存非常重要.

这个对象将使用一些像这样的字典:

{
'text':doSomething,
'string':doAnotherThing,
'int':doSomethingCrazy
}
Run Code Online (Sandbox Code Playgroud)

当然我可以把它放在类之外,在模块级别上,所以它肯定会只存储在内存中一次,但我更喜欢把它们放在一起,所以如果它只在那个类中使用它看起来更好,如果它在课堂上.

问题是,如果我将dict放入类定义中,它是否只存储在内存中一次?

class MyClass(object):
   thatDict={}
Run Code Online (Sandbox Code Playgroud)

或者如果我把它放在函数定义中,它将只存储在内存中一次?

class MyClass(object):
   def someFunc():       
      thatDict={}
Run Code Online (Sandbox Code Playgroud)

python memory

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