问题列表 - 第21745页

我应该如何定义JavaScript'命名空间'来满足JSLint?

我希望能够将我的JavaScript代码打包到"命名空间"中,以防止与其他库发生名称冲突.由于命名空间的声明应该是一段简单的代码,我不希望依赖任何外部库来为我提供此功能.我已经找到了关于如何简单地执行此操作的各种建议,但在通过JSLint运行时(使用"好的部件"选项)似乎没有任何错误.

作为一个例子,我尝试使用高级JavaScript(没有YUI的命名空间部分):

"use strict";
if (typeof(MyNamespace) === 'undefined') {
    MyNamespace = {};
}
Run Code Online (Sandbox Code Playgroud)

通过JSLint运行它产生以下错误:

Problem at line 2 character 12: 'MyNamespace' is not defined.
Problem at line 3 character 5: 'MyNamespace' is not defined.
Implied global: MyNamespace 2,3
Run Code Online (Sandbox Code Playgroud)

可以通过明确声明来修复"隐含的全局"错误MyNamespace...

"use strict";
if (typeof(MyNamespace) === 'undefined') {
    var MyNamespace = {};
}
Run Code Online (Sandbox Code Playgroud)

...并且可以通过在if块之外声明变量来修复其他两个错误.

"use strict";
var MyNamespace;
if (typeof(MyNamespace) === 'undefined') {
    MyNamespace = {};
}
Run Code Online (Sandbox Code Playgroud)

这样可行,但在我看来(因为MyNamespace在检查时它总是未定义?)它相当于更简单:

"use strict"; …
Run Code Online (Sandbox Code Playgroud)

javascript namespaces jslint

20
推荐指数
3
解决办法
7544
查看次数

如何用Java连接到SVN服务器?

我有一个项目,我必须从SVN中提取数据或代码,并根据从SVN检索的代码/数据创建序列/类/ UML图.

我的问题是:

  1. 如何从java连接到SVN服务器?
  2. 是否有任何java库可以采用类方法并生成序列图?
  3. 是否有任何java库可以从类文件生成UML 2.0投诉图?

任何指针都将非常感激.

java svn uml

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

如何确定包含在Asp.net页面中的重复Javascript函数

我有一个使用一些javascript函数的应用程序,

由于所有javascripts都包含在Masterpage中,因此大多数带有pagepage的页面都不是必需的,其中一些是重复的(因为在一些不同的JS文件中使用).

所以我想检查是否有办法确定重复的功能并删除它们?

javascript c# asp.net jquery master-pages

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

如何在Rails/Ruby中处理琐碎的"重复代码"气味

因此,我们都努力减少重复(DRY)和其他气味,并尽可能保持我们的代码良好和干净.对于Ruby代码,有很多仪器可以检测气味,例如相当不错的Calibre服务.

但是,似乎我对代码重复的定义与工具不同.我认为这可能与Ruby的做事方式有关,你几乎从不直接访问变量,而是通过方法调用.考虑一下Rails控制器的这个片段:

def update_site_settings
  SiteSettings.site_name = params[:site_name]
  SiteSettings.site_theme = params[:site_theme]
  expire_fragment('layout_header')
  flash[:notice] = t(:Site_settings_updated)
  redirect_to :controller => 'application', :action => 'edit_site_settings'
end
Run Code Online (Sandbox Code Playgroud)

由于对"params"方法的两次调用,因此标记了代码重复警告.所以我的问题是,分配params到局部变量真的会有所改进吗?我认为编写它的方式是最清晰简洁的方法,事实上,params方法而不是变量是Ruby中"做生意的成本".

我看错了吗?

编辑:在这种情况下,更漂亮的方式可能是进行SiteSettings.update_attributes(params)样式更新.如果您愿意,请考虑另一个代码段中的相同问题:

def update
  @mailing_list = MailingList.find(params[:id])

  if @mailing_list.update_attributes(params[:mailing_list])
    flash[:notice] = t:Mailing_list_updated
    redirect_to(mailing_lists_path)
    ...
Run Code Online (Sandbox Code Playgroud)

ruby design-patterns ruby-on-rails

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

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

Java ENUM问题

我有两个Enum如下:

enum Connector {
    AND, OR, XOR;
}

enum Component {
    ACTIVITY
}
Run Code Online (Sandbox Code Playgroud)

现在,我有一个follower在类中命名的变量Event.这个变量(follower)可以具有(并且应该具有)上述两个中Enum的任何一个的值.

那么,我应该给follower变量什么数据类型?

java enums

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

C++以编程方式查找可执行根目录的便携方式

可能重复:
如何在C中查找可执行文件的位置

嗨,

我正在寻找一种可移植的方法来查找程序的根目录(在C++中).例如,在Linux下,用户可以将代码复制到/ opt,将其添加到PATH,然后执行它:

cp -r my_special_code /opt/
export PATH=${PATH}:/opt/my_special_code/
cd /home/tony/
execution_of_my_special_code
Run Code Online (Sandbox Code Playgroud)

(其中"execute_my_special_code"是/ opt/my_special_code中的程序).

现在,作为"execution_of_my_special_code"的开发人员,是否有一种可移植的编程方法可以发现可执行文件位于/ opt/my_special_code中?

第二个例子是在MS Windows上:如果我当前的工作目录在一个硬盘驱动器上(例如"C:\")而可执行文件放在另一个硬盘驱动器上(例如"D:\")怎么办?

最终,目标是读取与程序代码一起打包的一些预定义配置文件,而不强制用户进入安装目录.

非常感谢提前!

c++ configuration-files working-directory execution

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

python中的因子分析

是否有一个模块包含一个在python中计算因子分析(而不是PCA)的函数?

python analysis factor-analysis

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

VSTO:在outlook规则移动邮件之前使用newmailex处理邮件

我正在为Outlook 2007创建一个插件,在收到邮件时读取它,然后重写它.插件工作得很好,并为没有将其移动到另一个文件夹的Outlook规则的项重写邮件.如果有规则,大约50%的时间仍然可以.另外50%的时间,规则会在我的插件完成之前移动邮件项目.我收到以下错误:

"由于对象已被删除,因此无法执行操作."

我正在使用NewMailEx事件来调用我的重写函数:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.NewMailEx += new Outlook.ApplicationEvents_11_NewMailExEventHandler(olApp_NewMail);
}
Run Code Online (Sandbox Code Playgroud)

在Outlook 2007中,NewMailEx为邮件提供了entryID.此entryID最初用于确定要使用的邮件对象:

Outlook.NameSpace outlookNS = this.Application.GetNamespace("MAPI");
Outlook.MAPIFolder mFolder = this.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MailItem mail;
try
{
    mail = (Outlook.MailItem)outlookNS.GetItemFromID(entryIDCollection, Type.Missing);
}
catch (Exception e) { Debug.WriteLine("exception with non-mail item " + entryIDCollection + ": " + e.ToString()); return; }
Run Code Online (Sandbox Code Playgroud)

我认为我可以使用这个entryID(上面的代码可以工作),并遍历我的所有文件夹(在交换机上和我的计算机上),寻找相同的邮件ID.当我最终迭代到邮件所在的位置时,移动邮件的EntryID与entryIDCollection非常不同.

也许我会以错误的方式解决这个问题.有谁知道如何阻止事件传播直到我完成,或者如何追踪移动的电子邮件?

这是我的代码遍历文件夹,万一有人好奇:

        try
        {
            mail.Subject = new_subj;
            mail.Body = "";
            mail.HTMLBody = text;
            mail.ClearConversationIndex();
            mail.Save();
        }
        catch (Exception ex)
        {
            //It wasn't caught in time, so …
Run Code Online (Sandbox Code Playgroud)

outlook vsto

8
推荐指数
2
解决办法
5024
查看次数

原始类型的Java List泛型语法

我想制作一个可增长的字节数组.即列表.在c#中,通常会使用以下语法

List<byte> mylist = new List<byte>();
Run Code Online (Sandbox Code Playgroud)

在java中,这种语法不起作用,我已经google了一下,找到了下面的代码

List myList = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的.我知道哪里出错了?

java generics collections list

7
推荐指数
2
解决办法
1万
查看次数