小编Dav*_*ter的帖子

.NET代码计数器行

我想知道是否有人可以为.NET项目(网络,Windows服务等)推荐一个好的LOC计数器?我正在寻找的一些功能包括:

  • 能够将结果导出到Excel或类似的东西(不仅仅是PDF,因为我可能想要处理数据);
  • 创建几个计数器项目(例如,项目1包括.NET项目A,B和C,项目2包括.NET项目D,E和F);
  • 能够跟踪项目随时间的变化;
  • 轻松清除虚假文件(如VSS文件,csproj文件,.user文件等);
  • 计算针对TFS,VSS,文件系统的代码;
  • 理想情况下,我希望能够将应用程序指向.sln文件,并将其导入所有项目,而不是我必须逐个添加每个项目;
  • 包括JavaScript文件(理想情况下排除评论,但这是一个很好的);
  • 编辑免费软件将是首选,但不是一个显示塞;
  • 编辑需要支持.NET 3.5和4.

我在同一行中看到了一些较旧的问题,但希望有一些支持各种.NET项目的更新工具(例如,不仅仅是Web项目).

提前致谢!

.net c#

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

C#Byte Array to struct

我想使用ReadProcessMemory函数来填充这个结构.

    [StructLayout(LayoutKind.Explicit)]
public struct WinMineGameStruct
{
    [FieldOffset(0x118)]
    public Int32 xPressed;
    [FieldOffset(0x118)]
    public Int32 yPressed;
    [FieldOffset(0x140)]
    public Int32 MouseDown;
    [FieldOffset(0x160)]
    public Int32 GameStatus;
    [FieldOffset(0x164)]
    public Int32 IsInGame;
    [FieldOffset(0x194)]
    public Int32 MinesLeft;
    [FieldOffset(0x330)]
    public Int32 LevelMines;
    [FieldOffset(0x334)]
    public Int32 Colls;
    [FieldOffset(0x338)]
    public Int32 Rows;
    [FieldOffset(0x6a0)]
    public Int32 GameType;
    [FieldOffset(0x6cc)]
    public Int32 EasyBestScore;
    [FieldOffset(0x6d0)]
    public Int32 MediumBestScore;
    [FieldOffset(0x6d4)]
    public Int32 HardBestScore;
    [FieldOffset(0x6d8)]
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
    public Char[] PlayerEasyName;
    [FieldOffset(0x718)]
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
    public Char[] PlayerMediumName;
    [FieldOffset(0x758)]
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# memory bytearray data-structures

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

在Javascript中在服务器和客户端之间共享代码意味着什么?

我会诚实地说,在深入研究NodeJS时,我并不完全理解一个概念.这个概念是关于NodeJS如何让我们在服务器和客户端之间共享代码.这究竟意味着什么?这是否意味着我可以编写一个我可能在客户端调用的函数,它可以作为远程方法调用,还是意味着代码被复制到客户端并被执行?

有人可以给我一些直观的例子,我可以把我的头脑包裹起来吗?

javascript programming-languages node.js

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

是否有理由不在NUnit中使用AssertionHelper?

我一直在使用NUnit一段时间,而且我一直在从中派生我的测试类AssertionHelper.通过这样做,我的测试使用如下语法:

Expect(myValue, Is.EqualTo(3), "value wasn't equal to 3");
Run Code Online (Sandbox Code Playgroud)

代替:

Assert.That(myValue, Is.EqualTo(3), "value wasn't equal to 3");
Run Code Online (Sandbox Code Playgroud)

我看到几乎所有使用NUnit的例子都使用Assert.That()语法,但似乎Expect()更有意义(至少对我而言)因为我期待代码中的某种行为.

使用AssertionHelperNUnit 有什么不利之处,还是真的归结为品味/风格?

提前致谢!

nunit unit-testing

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

域驱动设计现在仍然有效吗?

我们希望为我们的OO设计实施模型或指南.我们喜欢领域驱动设计.我们的具体问题是:您认为DDD在模式设计之后仍然有效吗?如果是这样,我们应该评估其他方法或变体吗?

从根本上说,我们使用Visual Studio(c#)开发企业Web和桌面应用程序.

提前致谢

oop domain-driven-design models

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

流畅的界面是否违反命令查询分离原则?

我开始编写一个流畅的界面,看看Martin Fowler在流畅的界面上写的一篇较旧的文章(我没有意识到他和Eric Evans创造了这个术语).在这篇文章中,Martin提到setter通常会返回正在配置或处理的对象的实例,他说这违反了CQS.

大括号世界中的常见惯例是修饰符方法是void,我喜欢它,因为它遵循CommandQuerySeparation的原则.这个约定确实妨碍了一个流畅的接口,所以我倾向于暂停这个案例的约定.

所以,如果我的流畅界面做了类似的事情:

myObject
  .useRepository("Stuff")
  .withTransactionSupport()
    .retries(3)
  .logWarnings()
  .logErrors();
Run Code Online (Sandbox Code Playgroud)

这真的违反了CQS吗?

更新我打破了我的示例,将日志警告和错误显示为单独的行为.

c# fluent-interface command-query-separation

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

RabbitMQ c#System.IO.EndOfStreamException

当消费者阻止从SharedQueue接收消息时,我得到以下异常:

Unhandled Exception: System.IO.EndOfStreamException: SharedQueue closed
   at RabbitMQ.Util.SharedQueue.EnsureIsOpen()
   at RabbitMQ.Util.SharedQueue.Dequeue()
   at Consumer.Program.Main(String[] args) in c:\Users\pdecker\Documents\Visual
Studio 2012\Projects\RabbitMQTest1\Consumer\Program.cs:line 33
Run Code Online (Sandbox Code Playgroud)

以下是抛出异常时正在执行的代码行:

BasicDeliverEventArgs e = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经看到当rabbitMQ处于非活动状态时发生异常.我们的应用程序需要让消费者始终连接并聆听按键操作.有谁知道这个问题的原因?有谁知道如何从这个问题中恢复?

提前致谢.

c# rabbitmq

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

应该在左侧或右侧检查null

在回顾一些代码时,我看到:

if (null == condition) { ... }
Run Code Online (Sandbox Code Playgroud)

我也看到了:

if (condition == null) { ... }
Run Code Online (Sandbox Code Playgroud)

我似乎记得null在左侧有一个优势,但是我记不住它了,并且认为它是一个较旧的运行时项目,它已经被更新的.NET运行时优化了.我倾向于使用后者的无效检查,所以前者引起了我的注意.

那么这是一种风格问题,还是null在评估的左侧或右侧有优势?

c# null coding-style

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

Javascript自定义对象是通用的

我试图最大限度地重用一些代码.在我的自定义javascript对象上(为了简单起见,我将使用PhoneNumber作为示例),我正在设置这样的原型函数:

var Map = {
    write: function() {
        alert('My object is ' +this);
    }
};

function PhoneNumber(number) {
    this.number = number;
}

PhoneNumber.prototype = Map;

//I can call the write function like so
var phoneObject = new PhoneNumber('1234567894');
phoneObject.write(); //ALERT My Object is Object{number:'1234567894'}
Run Code Online (Sandbox Code Playgroud)

一切正常,除了由于某种原因它将我的电话号码对象变成通用对象而不是保持其PhoneNumber构造函数.如果我实际上将write函数放在这样的对象原型中,它就可以完美地工作.

function PhoneNumber(number) {
    this.number = number;
}

PhoneNumber.prototype.write = function() {
    alert('My object is ' +this);
}

var phoneObject = new PhoneNumber('1234567894');
phoneObject.write(); //ALERT My object is PhoneNumber{number:'1234567894'}
Run Code Online (Sandbox Code Playgroud)

但我真的不必这样做,因为多个对象使用write函数,它们都执行完全相同的方式.如何避免我的对象转换为通用构造函数?显然我正在以错误的方式在原型上设置Map对象,但是非常重要的是我不必将代码直接从Map复制到对象原型函数中.有任何想法吗?

javascript

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

在对表单加载进行一些检查时,如何显示"loading ..."之类的内容?

我对表单加载进行了一些检查,但它将表单锁定一段时间(千分之几秒).出于这个原因,我想显示一条消息,如"正在加载应用程序..",但我不知道我是如何做到的.我希望这清楚!非常感谢任何帮助.提前致谢.

.net c# events

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