小编bag*_*age的帖子

PEP8用于长方法的名称

对于长方法的名称,PEP8的正确方法是什么?我有一个自我描述方法的单元测试:

def success_if_buying_price_item_when_participating_and_progression_is_100_percent(self):
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这个(太长?)方法达到了80个字符的行限制.

我应该重命名它并在代码中添加描述还是有另一种方式?

python unit-testing pep8 django-unittest

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

Java Swing内存使用情况

关于这个问题有很多问题,但没有答案让我满意; 我正在使用Swing编写一个简单的GUI窗口.目前它只包含4个按钮,其中一个是打开文件选择器.

当我使用VisualVM监视工具查看内存使用情况时,结果如下所示:

内存使用情况http://img17.imageshack.us/img17/3589/8txc.png

当我点击按钮时出现第一个长矛,然后我什么也没做.

这是空闲应用程序消耗10M/min(当它什么都没做的时候)这是正常的吗?

由于我必须使用图像做一个类似quizz的applet,System.gc()每次切换到下一个问题时我是否应该使用它来避免(可能是巨大的?)内存使用?

java swing jvm memory-management

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

工会成员无效

在Visual Studio中是否有办法处理非平凡的联合.以下代码运行正常,g++ -std=c++11但VS抱怨:

无效的联合成员 - 类"Foo"具有不允许的成员函数

代码如下:

struct Foo {
    int value;
    Foo(int inV = 0) : value(inV) {}
};

union CustomUnion {
    CustomUnion(Foo inF) : foo(inF) {}
    CustomUnion(int inB) : bar(inB) {}
    int bar;
    Foo foo;
};

int main() {
    CustomUnion u(3);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Visual Studio中是否有一种方法可以支持这种联合(例如编译选项)?或者我应该更改我的代码,如果是这样的话?

c++ visual-studio unions c++11 visual-studio-2013

6
推荐指数
2
解决办法
4520
查看次数

防止多次启动相同的活动

有很多与后台堆栈管理相关的问题,但没有一个真正让我满意。我发现的越接近那个,但对我来说它看起来像是一种丑陋的解决方法。

当在活动按钮点击一个,我发起一项活动startActivityForResult(),期待一个简单的一个- >回堆栈。但是如果你足够快地向按钮发送垃圾邮件,你最终会触发两个意图,因此两个活动堆叠A -> B -> B

我试图使用FLAG_ACTIVITY_SINGLE_TOP标志来防止第二个创建B活动,但它没有改变任何东西:

这是活动A 中的按钮侦听器:

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(getApplicationContext(), ActivityB.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        startActivityForResult(intent, REQUEST_CODE);
    }
});
Run Code Online (Sandbox Code Playgroud)

并且日志明确指出onCreate()in 调用了两次(而不是预期的onNewIntent):

btn.onClick()

活动B.onCreate()

btn.onClick()

活动B.onCreate()

我的活动必须singleTasksingleInstance,他们应该只是返回堆叠任何经常性活动的一部分。任何许可将不胜感激!

android android-intent android-activity

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

使用 bash 变量参数调用 cmake

我正在努力解决一个奇怪的问题。我正在尝试使用 shell 变量作为参数运行 cmake 命令行,但它失败了。这就是我所做的:

#1. Basic. works fine
cmake -G 'Sublime Text 2 - Ninja'

#2. Argument into variable. error
CMAKE_CONFIG="-G 'Sublime Text 2 - Ninja'"
cmake $CMAKE_CONFIG ../..
> CMake Error: Could not create named generator  'Sublime Text 2 - Ninja'

#3. Adding -v before variable. 'compile' but ignore the argument (generate a Makefile). Hacky and senseless?
CMAKE_CONFIG="-G 'Sublime Text 2 - Ninja'"
cmake -v$CMAKE_CONFIG ../..

#4. Quoting argument. error (same as #2)
CMAKE_CONFIG="-G 'Sublime Text 2 - …
Run Code Online (Sandbox Code Playgroud)

bash shell arguments cmake

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

带有char*和<<运算符的条件跳转valgrind

我正在编写我的String类的版本,但Valgrind抱怨<<我的字符串操作符的实现.错误是在错误的行,如果我通过char打印char它工作得很好.

我哪里错了?

Valgrind错误:

== 2769 ==有条件的跳转或移动取决于未初始化的值(s)

== 2769 ==在0x4C2AC28:strlen(在/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so中)

== 2769 == by 0x4ECAD60:std :: basic_ostream>&std :: operator <<>(std :: basic_ostream>&,char const*)(在/usr/lib/x86_64-linux-gnu/libstdc++.so中. 6.0.17)

== 2769 == by 0x400BD5:operator <<(std :: ostream&,String&)(string.cpp:22)

== 2769 == by 0x400AAC:main(main.cpp:12)

<<的字符串运算符:

ostream & operator << (ostream & o, String & inS) {
    o << inS._pData << " "; // the wrong line
    return o;
}
Run Code Online (Sandbox Code Playgroud)

我的String班级:

class String {
    public:
         unsigned _size;
         char *   _pData;
         String(); …
Run Code Online (Sandbox Code Playgroud)

c++ string valgrind cout strcpy

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

Zsh功能:向前完成到子功能

很多时候我最终会围绕现有函数编写包装函数,例如:

function gl {
    some_computed_stuff=...
    git --no-pager log --reverse $some_computed_stuff "$@"
}
function m {
    make "$@" && notify-send success || notify-send failed
}
Run Code Online (Sandbox Code Playgroud)

我知道别名保持自动完成,但有时需要函数,在这种情况下自动完成会丢失.例如,我想继续git log完成我的功能glmake完成m.

我试图添加,compctl -K _git gl但没有提出任何建议.它无论如何都行不通,因为我必须以某种方式找到如何log_git自动完成脚本提供参数,所以我的问题是:

有没有办法让ZSH(还有bash)明白打字gl是完全相同的git log?像(仅适用于ZSH):

compctl 'git log' gl
compctl 'make' m 
Run Code Online (Sandbox Code Playgroud)

zsh autocomplete bash-completion zsh-completion

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

获取正则表达式中匹配的字符数

我有一个缩进一个空格的文件:

Level1 with some text
 Level2 
Level1 
  Level3 and its text
Run Code Online (Sandbox Code Playgroud)

我想缩进4个空格。我考虑了一个正则表达式来匹配起始空间^(\s)*。但是,我不知道如何将其替换为“为找到的每个空间应用一个选项卡”。

我的预期输出是:

Level1 with some text
    Level2 
Level1 
        Level3 and its text
Run Code Online (Sandbox Code Playgroud)

有类似的东西\t*len(\1)存在吗?

编辑:我希望有一个基于正则表达式的解决方案,因为我的目标是在 SublimeText 编辑器中使用它,该编辑器具有正则表达式的替换功能。

python regex sublimetext3

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

在流水线读取循环中读取键盘输入

在脚本中,我想逐行读取流程输出,并获得用户的确认.到目前为止我已经这样做了:

mycommand-outputpiped | while (read line)
do
   read line
   #dostuff

   read confirm #oops -> this read the next item from the pipe, not the keyboard
done
Run Code Online (Sandbox Code Playgroud)

所以我试着添加:

read confirm < /dev/stdin
Run Code Online (Sandbox Code Playgroud)

但它并没有改变它的东西,它仍然从管道中读取下一行......我该如何处理?

unix bash sh

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