我想知道是否有人可以为.NET项目(网络,Windows服务等)推荐一个好的LOC计数器?我正在寻找的一些功能包括:
我在同一行中看到了一些较旧的问题,但希望有一些支持各种.NET项目的更新工具(例如,不仅仅是Web项目).
提前致谢!
我想使用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) 我会诚实地说,在深入研究NodeJS时,我并不完全理解一个概念.这个概念是关于NodeJS如何让我们在服务器和客户端之间共享代码.这究竟意味着什么?这是否意味着我可以编写一个我可能在客户端调用的函数,它可以作为远程方法调用,还是意味着代码被复制到客户端并被执行?
有人可以给我一些直观的例子,我可以把我的头脑包裹起来吗?
我一直在使用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()
更有意义(至少对我而言)因为我期待代码中的某种行为.
使用AssertionHelper
NUnit 有什么不利之处,还是真的归结为品味/风格?
提前致谢!
我们希望为我们的OO设计实施模型或指南.我们喜欢领域驱动设计.我们的具体问题是:您认为DDD在模式设计之后仍然有效吗?如果是这样,我们应该评估其他方法或变体吗?
从根本上说,我们使用Visual Studio(c#)开发企业Web和桌面应用程序.
提前致谢
我开始编写一个流畅的界面,看看Martin Fowler在流畅的界面上写的一篇较旧的文章(我没有意识到他和Eric Evans创造了这个术语).在这篇文章中,Martin提到setter通常会返回正在配置或处理的对象的实例,他说这违反了CQS.
大括号世界中的常见惯例是修饰符方法是void,我喜欢它,因为它遵循CommandQuerySeparation的原则.这个约定确实妨碍了一个流畅的接口,所以我倾向于暂停这个案例的约定.
所以,如果我的流畅界面做了类似的事情:
myObject
.useRepository("Stuff")
.withTransactionSupport()
.retries(3)
.logWarnings()
.logErrors();
Run Code Online (Sandbox Code Playgroud)
这真的违反了CQS吗?
更新我打破了我的示例,将日志警告和错误显示为单独的行为.
当消费者阻止从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处于非活动状态时发生异常.我们的应用程序需要让消费者始终连接并聆听按键操作.有谁知道这个问题的原因?有谁知道如何从这个问题中恢复?
提前致谢.
在回顾一些代码时,我看到:
if (null == condition) { ... }
Run Code Online (Sandbox Code Playgroud)
我也看到了:
if (condition == null) { ... }
Run Code Online (Sandbox Code Playgroud)
我似乎记得null
在左侧有一个优势,但是我记不住它了,并且认为它是一个较旧的运行时项目,它已经被更新的.NET运行时优化了.我倾向于使用后者的无效检查,所以前者引起了我的注意.
那么这是一种风格问题,还是null
在评估的左侧或右侧有优势?
我试图最大限度地重用一些代码.在我的自定义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复制到对象原型函数中.有任何想法吗?
我对表单加载进行了一些检查,但它将表单锁定一段时间(千分之几秒).出于这个原因,我想显示一条消息,如"正在加载应用程序..",但我不知道我是如何做到的.我希望这清楚!非常感谢任何帮助.提前致谢.
c# ×6
.net ×3
javascript ×2
bytearray ×1
coding-style ×1
events ×1
memory ×1
models ×1
node.js ×1
null ×1
nunit ×1
oop ×1
rabbitmq ×1
unit-testing ×1