问题列表 - 第19781页

如何使用字符串访问Perl数组元素?

我有这个Perl代码:

@str = qw(a1 a2 a3);
my @array;
$s1 = 'a1';
$s2 = 'a2';
$s3 = 'a3';
Run Code Online (Sandbox Code Playgroud)

现在给出的s1,s2,s3得到引用$array[0],$array[1],$array[2]分别.开关盒是可能的.但如何在一两个陈述中得到它.

perl

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

PHP中的注册表或单例模式?

我现在正在使用PHP类和对象.在这个问题中,字段和方法的名称只是为了让你了解我在说什么.

它与使用单例和注册表设计模式有关.

现在假设我需要访问数据库对象,缓存对象,核心设置对象,几乎所有其他类中的Session对象,我需要访问这些对象.所以我会使用注册表将所有这4个对象存储到1个注册表类对象中.然后我可以将easiyl传递给我的1个对象到需要访问这些对象的任何其他对象.所以这听起来很棒,但是如果我有一些不需要所有4个对象的类,那么如果我只需要在我的其他一些类中访问Database对象或Session对象呢?对于性能,最好只在这些其他对象中使用单例,还是继续使用我的注册表?

我不太清楚PHP中的对象如何工作以了解是否会有任何类型的性能增益(更少的内存使用,CPU使用,加载时间).

因此,任何有这方面经验的人都可以告诉我,如果使用其中一个获得任何收益,我现在处于以太流行的阶段,而不影响生产时间或任何事情.如果我能够,我想用最好的方法.

php registry singleton

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

如何将丑陋和未记录的VB6代码迁移到.NET

我知道已经有关于VB6迁移的问题,但是我的项目的代码库带来了一些新的问题.

我不得不说代码质量,结构和架构只是一场噩梦.有两个大项目:Nr.1有40个表格,40个模块和一些类文件,这个EXE是一种"基础系统".Nr.2有80个表格,20个模块和几个类文件,这个EXE调用函数形成"基本系统".然后还有大约10个带GUI的项目(每个1-3个表单)和另外90个非GUI项目,其中大多数是EXE文件,一些是DLL.DLL用C,C++和VB6编写.

该守则自10年以来逐渐发展,并且一次由1个(坏)开发人员编写.

  • 500行(及更多)的功能非常常见.
  • 90%的GUI组件被命名为text1,command2(1),...
  • 复制和粘贴到处都是例如一个EXE项目(没有GUI),复制了5000行代码,副本中唯一的变化是每个Mail而不是FTP发送文件(同样项目的另外2个副本也是).
  • 我曾经有一个小形式(15个字段),在那里我应该解决一个小问题(通常最多半小时的事情),每次我改变一些东西,它要么不起作用,要么在表格中产生新的错误.2天之后,我决定完全重写表单,从旧表单中的~20个SQL语句中,只有2个在新表单中存活.
  • 甚至不询问代码中的评论......

几个月前我接手了这个项目,我是唯一的维护者.变更请求和错误的流量不断(但很低),我们从客户处获得维护预算,以保持软件运行并在法律要求方面"更新".

我的选择

1)从头开始重写 - 在这种情况下,我可以用Java编写它以实现可移植性.这里的问题是,除了一些(旧)用户帮助,没有文档,所以丑陋的代码是"文档".有一个人具有高级别知道该软件应该如何做.此外,很难说服管理层这样做,即使长期存在巨大的成本节约,也存在政治问题.我也不能一次做那个(vb)项目,因为数据库结构并不比代码好,即必须从头开始.所以我只能一次更改整个软件.

2)将代码迁移到VB.NET/C#主要项目的迁移首先,我测试了已经从Project Nr.1获得~2000升级注释,其中大部分内容如Screen.MousePointer更改,函数具有变量返回值和等等.我的想法是在转换之后,创建用于数据库抽象的类,更改代码以使用这些类,并进行重构,迁移和更改其他项目,当所有代码使用数据库类时,更改数据库结构.

3)每当我必须在那里改变一些东西时重构VB6中的代码(我已经部分地做了这个)并且在某些时候重构了其余部分.这样就可以更容易地看到原始功能,因为它是原始代码,当出现错误时,很明显它们不能成为迁移的结果.当代码被重构时(我假设它也会小50-75%),将它迁移到.NET更容易.然后改变DB结构(然后进行另一轮重构......).

将来会有一些更大的变化(使它与Win7兼容,以及影响代码大部分的另一个大CR),因此我将不得不通过这些变更进行这些更改.无论如何,很多代码.

我的问题是谁有移植糟糕,丑陋代码的经验/提示?你会建议哪些选择?

.net vb6 vb6-migration

23
推荐指数
5
解决办法
3712
查看次数

如何配置Eclipse格式化程序不在字段声明之间插入空行?

我正在使用Eclipse 3.5.1(Galileo),并且在使用其中一个自动格式设置时遇到问题.

在我自动格式化空白行的那一刻,在每个字段声明之间插入.我正在寻找的行为是组织字段声明,之间没有空行.除了在声明之间已经存在一个或多个空行的情况之外,在这种情况下,我希望格式化程序遵守空格,并将> = 1行减少到1行.

我知道这在Eclipse的某些时候是可能的(不记得版本,但我已经使用了一个设置),但我似乎找不到正确的设置Window->Preferences->Java->Code Style->Formatter.

我配置哪个设置来启用此行为?


编辑:似乎我所描述的行为是默认的,由于某种原因,我找不到一种方法来返回到没有删除.settings目录.它也无法复制,这表明它与项目设置有些奇怪(它是从开源项目中检出的).虽然我找到了解决这个问题的黑客方法,但我仍然在寻找建议,并且能够验证并接受答案.

eclipse formatting configuration

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

Python状态机设计

此Stack Overflow问题(C状态机设计)相关,Stack Overflow人员可以与我(以及社区)共享您的Python状态机设计技术吗?

目前,我正在寻找基于以下内容的引擎:

class TrackInfoHandler(object):
    def __init__(self):
        self._state="begin"
        self._acc=""

    ## ================================== Event callbacks

    def startElement(self, name, attrs):
        self._dispatch(("startElement", name, attrs))

    def characters(self, ch):
        self._acc+=ch

    def endElement(self, name):
        self._dispatch(("endElement", self._acc))
        self._acc=""

    ## ===================================
    def _missingState(self, _event):
        raise HandlerException("missing state(%s)" % self._state)

    def _dispatch(self, event):
        methodName="st_"+self._state
        getattr(self, methodName, self._missingState)(event)

    ## =================================== State related callbacks
Run Code Online (Sandbox Code Playgroud)

但我确信在利用Python的动态特性(例如动态调度)的同时,还有很多方法可以实现.

我正在接受"引擎"的设计技术,它接收基于机器"状态"的"事件"和"发送".

python state-machine fsm

45
推荐指数
4
解决办法
5万
查看次数

是否可以将用户输入隐藏为"sudo"密码输入?

我正在使用raw_input()以交互模式从用户接收密码,但出于安全原因,我想使输入符号不可见,就像您使用sudo键入密码或连接到数据库时一样.我应该怎么做?

python console interaction input

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

Django admin,过滤内联formset的对象

我有一个内联formset,我想排除一些模型对象在formset中显示.

例如.模型B具有模型A的外键,因此它是1:n(一个对象有很多B对象)的关系.现在在一个管理编辑页面上,我有了B的内联.我想知道是否有可能以某种方式在呈现内联formset之前过滤B对象列表,因此并非所有与B对象相关的A都会进入formset.

django django-forms django-admin

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

中型软件开发团队是否有推荐的技能组合结构?

我正在寻找一些关于在典型的中型软件开发团队中需要的不同技能组合比例的参考或最佳实践.

假设有40名开发人员,SQA,UI设计师,项目经理,数据专家等应该占多大比例?

问题领域是通用工程.我意识到这似乎是一个模糊的问题,但正确的答案将提供行业标准和最佳实践的参考,而不是一堆数字.

意见和智慧的话也赞赏!问候.

project-management

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

R中的多面板标题

我有一个关于R的超短问题

我的目标是为使用par生成的多面板图指定一个共同的标题,例如

par(mfrow=c(1,2))
plot(rnorm(1000))
plot(rnorm(1000))
Run Code Online (Sandbox Code Playgroud)

因此,类似于绘图功能的"主要",但扩展到两个图.有没有规范的方法来做到这一点?

谢谢你的回答:-)

plot r

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

为什么for_each不能修改其仿函数参数?

http://www.cplusplus.com/reference/algorithm/for_each/
一元函数将范围内的元素作为参数.这可以是指向函数的指针,也可以是类重载operator()的对象.其返回值(如果有)将被忽略.

根据这篇文章,我预计for_each实际上会修改作为第三个参数给出的对象,但似乎for_each对临时对象进行操作,甚至不会修改赋予它的对象.

那么,为什么以这种方式实施呢?它似乎没那么有用.或者我误解了什么,下面的代码包含错误?

#include <iostream>
#include <vector>
#include <algorithm>

template <class T> struct Multiplicator{
    T mresult;
  public:
    const T& result() const{return mresult;}
    Multiplicator(T init_result = 1){
      mresult = init_result;
    }
    void operator()(T element){
      mresult *= element;
      std::cout << element << " "; // debug print
    }
};

int main()
{
    std::vector<double> vec;
    vec.push_back(1);
    vec.push_back(2);
    vec.push_back(3);
    Multiplicator<double> multiply;
    std::for_each(vec.begin(),vec.end(),multiply);
    std::cout << "\nResult: " << multiply.result() << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

预期产量:

1 2 3 Result: 6
Run Code Online (Sandbox Code Playgroud)

但得到以下输出:

1 2 3 …
Run Code Online (Sandbox Code Playgroud)

c++ foreach stl

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