小编Lee*_*eil的帖子

C++和Python之间的简单IPC(跨平台)

我有一个在后台运行的C++进程,它将不经常生成'事件',以便在同一个盒子上运行的Python进程需要获取.

  • C端的代码需要尽可能轻量级.
  • Python端是只读的.
  • 实施必须是跨平台的.
  • 发送的数据非常简单.

我有什么选择?

谢谢

c++ python cross-platform ipc

33
推荐指数
3
解决办法
3万
查看次数

可维护的单元测试

我最近使用TDD完成了一个项目,我发现这个过程有点像噩梦.我喜欢先编写测试并观察我的代码增长但是一旦需求开始变化并且我开始进行重构,我发现我花了更多的时间重写/修复单元测试而不是编写代码,事实上更多的时间.

我觉得在我完成这个过程的过程中,在应用程序完成后进行测试要容易得多,但如果我这样做,我会失去TDD的所有好处.

那么编写可维护的TDD代码有什么命中/提示吗?我现在正在阅读Roy Osherove的The Unit Of Unit Testing,还有其他资源可以帮助我吗?

谢谢

tdd unit-testing

25
推荐指数
3
解决办法
1388
查看次数

按键在文本框MVVM中

我刚刚开始使用MVVM并且我在查明如何将文本框中的按键绑定到视图模型中的ICommand时遇到问题.我知道我可以在代码隐藏中做到这一点,但我试图尽可能地避免这种情况.

更新:到目前为止,如果你有混合sdk或你没有遇到与我正在进行的交互dll的问题,那么这些解决方案都很好.除了必须使用混合sdk之外,还有其他更通用的解决方案吗?

data-binding wpf mvvm

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

使用LINQ时避免代码重复

好的,我有很多方法,如下所示: - 按艺术家,专辑,年份等对列表进行排序.

        public void SortByAlbum(SortOrder sortOrder)
        {
           if (sortOrder == SortOrder.Ascending)
              _list = _list.OrderBy(x => x.Album).ToList();
           else if (sortOrder == SortOrder.Descending)
              _list = _list.OrderByDescending(x => x.Album).ToList();
        }
Run Code Online (Sandbox Code Playgroud)

还有这个:

        public void SortByArtist(SortOrder sortOrder)
        {
           if (sortOrder == SortOrder.Ascending)
              _list = _list.OrderBy(x => x.Artist).ToList();
           else if (sortOrder == SortOrder.Descending)
              _list = _list.OrderByDescending(x => x.Artist).ToList();
        }
Run Code Online (Sandbox Code Playgroud)

现在显然这不是好代码所以它需要重构为一个Sort()方法,但我不知道如何以最简单的方式做到这一点.我不在乎它是否使用IComparer或LINQ.

我希望它看起来像这样:

    public void Sort(SortOrder sortOrder, SortType sortType)
    {
        //implementation here
    }

    public enum SortType
    {
       Artist,
       Album,
       Year
    }
Run Code Online (Sandbox Code Playgroud)

那么最简洁的方法是什么,没有代码重复?

谢谢,李

.net c# linq refactoring

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

从多个线程渲染到单个Bitmap对象

我正在做的是将多个位图渲染到单个位图.可能有数百个图像,并且渲染的位图可能超过1000x1000像素.

我希望通过使用多个线程来加速这个过程,但由于Bitmap对象不是线程安全的,因此它不能直接同时呈现.我想的是将大位图分成每个cpu的部分,分别渲染它们然后在最后将它们连接在一起.我还没有这样做,但是你们/女孩们有更好的建议.

有任何想法吗?谢谢

c# graphics multithreading rendering bitmap

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

Python和封闭变量

看看这段代码:

def closure():
    value = False

    def method_1():
        value = True

    def method_2():
        print 'value is:', value

    method_1()
    method_2()

closure()
Run Code Online (Sandbox Code Playgroud)

我希望它能打印'Value is:True',但事实并非如此.为什么这个和解决方案是什么?

python closures python-2.x

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

将整数转换为货币

我们有一个以基础货币存储数字(货币)的数据库,因此21.30英镑将作为2130存储在数据库中.我如何将该数字转换为所有文化的格式正确的货币?

2130 - >£21.30
2130 - > 21.30美元

c# currency string-formatting

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

犀牛嘲笑,空虚和属性

刚开始使用Rhino Mocks并且我有一个非常简单的问题,我如何使用设置属性的void来模拟一个类?

class SomeClass : ISomeClass
{
    private bool _someArg;

    public bool SomeProp { get; set; }

    public SomeClass(bool someArg)
    {
        _someArg = someArg; 
    }

    public void SomeMethod()
    {
        //do some file,wcf, db operation here with _someArg
        SomeProp = true/false;
    }
}
Run Code Online (Sandbox Code Playgroud)

显然这是一个非常人为的例子,谢谢.

c# tdd rhino-mocks mocking

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