小编Mik*_*ike的帖子

命令模式导致类爆炸

似乎每当我使用命令模式时,它总是导致比我不使用它时更多的类.这似乎很自然,因为我们在不同的类中一起执行相关代码块.如果我没有完成10或12个Command子类,我可能会认为这个项目本来只会使用6或7个类,否则不会打扰我.对于通常的7级项目,有19个左右的课程似乎差错了.

真正困扰我的另一件事是测试所有这些Command子类是一件痛苦的事.在我接到最后几条命令之后,我感到迟钝,好像我移动速度慢,不再灵活.

这对你来说听起来很熟悉吗?我做错了吗?我只是觉得我在这个项目的后期失去了敏捷,而且我真的不知道如何以前几天的速度不断地实施和测试.

testing agile command-pattern

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

Lisp有类似Haskell的takeWhile函数吗?

我是Common Lisp的新手.在Haskell中,你可以做一些像这样的事情:

Prelude> takeWhile (<= 10) [k | k <- [1..]]
[1,2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)

这在Lisp中是否可行?不一定有无限列表,但有任何列表.

lisp haskell functional-programming common-lisp

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

Clojure不断和地图功能

为什么这个Clojure代码:

user=> (map (constantly (println "Loop it.")) (range 0 3))
Run Code Online (Sandbox Code Playgroud)

产生此输出:

Loop it.
(nil nil nil)
Run Code Online (Sandbox Code Playgroud)

我希望它能三次打印"循环它"三次作为评估功能的副作用.

functional-programming clojure

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

NetBeans Post Build脚本

我正在使用NetBeans 6.8,并且我希望在每次构建之后运行脚本来构建具有预定义模式的SQLite数据库.我没有在Build Configuration下看到任何选项.此功能尚不支持吗?

java scripting netbeans build

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

Ruby Regex Gsub何时不匹配

我想在字符串中gsub所有不是字母的字符,并用'#'替换.我想我需要一个正则表达式,就像这个正则表达式不匹配时的"gsub()".

有任何想法吗?

ruby regex gsub

5
推荐指数
2
解决办法
5342
查看次数

JMock允许其他方法调用

我正在使用JMock来测试使用对象的类的行为.我想测试该方法a()是否被调用.然而,b()c()也被称为对象了.因此,如果我的期望预期a(),还必须期待b()c()以使测试通过.有没有办法只测试某种方法,并允许其他任何方法?

java mocking jmock

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

如何处理TDD的重构阶段

在TDD会话过程中,假设我编写了一个失败的测试,然后让它通过.我通过使用诸如Extract Class和Move Method之类的重构从原始Unit中提取代码来重构.现在进一步假设我的原始测试不再涵盖提取的代码,因为原始代码现在模仿了它的依赖关系,因为单元测试是正确的.

是否适合返回并对提取的代码进行改进测试?或者我在重构过程中如何使用未经测试的代码时犯了错误?感觉就像我的代码库正在缩放,我必须重构,我正在对重构代码进行大量的测试.这感觉真的很尴尬.我重构错了吗?

tdd refactoring unit-testing

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

Ruby等效的Python"_"

在Python中,您可以使用该_字段来获取最后一个计算值.这在IDLE中非常有用.Ruby有IRB的等价物吗?

Python的一个例子:

>>> 2 + 2
4
>>> _
4
>>> "Me " + "You"
'Me You'
>>> _
'Me You'
Run Code Online (Sandbox Code Playgroud)

ruby python irb python-idle

3
推荐指数
2
解决办法
523
查看次数

Python - 获取所有目录中的文件扩展名计数

我们有数十万个文件的硬盘

我需要弄清楚我们有多少文件扩展名

我怎么能用python做到这一点?

我需要它来浏览每个目录.我公司的这位律师需要这个.它可以是整个硬盘的总和,它不必按目录细分

例:

1232 JPEG
11 exe
45 bat
2342 avi
532 doc
Run Code Online (Sandbox Code Playgroud)

python

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

未指定jMock期望

我是jMock的新手,所以我试着用一个简单的例子.但我无法弄清楚为什么它不起作用.这是我正在测试的课程:

package com.application;

import com.domain.Coordinate;
import com.domain.Playable;

public class ChessFacade {

    private final Playable board;

    public ChessFacade(Playable aBoard) {
        board = aBoard;
    }

    public void showPotentialMoves(Coordinate aCoordinate) {
        board.getTileOccupancy(aCoordinate);
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的Mock对象测试:

package unit.application;

import application.ChessFacade;
import com.domain.Coordinate;
import com.domain.Playable;
import junit.framework.TestCase;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.integration.junit4.JMock;
import org.jmock.integration.junit4.JUnit4Mockery;
import org.junit.runner.RunWith;

@RunWith(JMock.class)
public class ChessFacadeTest extends TestCase {

    public void testFacadeGetsPotentialMovesFromBoard() {
        Mockery context = new JUnit4Mockery();
        final Playable mockBoard = context.mock(Playable.class);
        ChessFacade facade = new ChessFacade(mockBoard);

        final Coordinate …
Run Code Online (Sandbox Code Playgroud)

java mocking jmock

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