小编uri*_*ium的帖子

单元测试应该在.Net解决方案中的自己的项目中

我应该为单元测试开始一个新项目吗?这意味着我会得到两个可执行文件正确吗?然后我担心命名空间组织.我是否可以将单元测试放在与他们正在测试的类相同的名称空间中,尽管它们是不同项目的一部分?

这提出了另一个问题.我知道命名空间命名约定是CompanyName.TechnologyName.Feautre.Design.如何在我的解决方案/项目布局中实现这一目标?解决方案名称=公司名称,项目名称=技术名称?

如果是这样的话,这意味着我无法将我的单元测试分成新项目.

.net unit-testing project-structure

19
推荐指数
3
解决办法
5448
查看次数

什么是比经理,处理器等更好的名称?

我正在阅读书清洁代码http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

作者提到您应该在类的名称中避免使用管理器,处理器,数据或信息等单词.我到处都用过这些.什么是更好的名字?我有一个负责启动和停止连接的类.所以我把它命名为ConnectionManager.

language-agnostic oop design-patterns naming-conventions

19
推荐指数
4
解决办法
8973
查看次数

知道C和/或C++会让我成为更好的开发人员吗?

我经常考虑尝试学习像C++这样的语言来更好地理解计算机.对我来说,知道C/C++就像是编程的黑带.但是,你看看一些伟大的开发人员,我不认为他们曾经学过C++.

对于某些下雨天(更像是下雨年)来说这是一个好主意还是我应该继续推动我已经知道的语言的界限.

编辑:回答一些问题.我有几年的Java经验.在Delphi工作了很多,大约一年半以前开始使用C#来创建我必须创建的一些Web应用程序.

c c++

16
推荐指数
8
解决办法
4236
查看次数

为什么整数总是用作for循环中的控制变量?

有时候你知道你的循环永远不会超过x次,其中x可以用byte或short来表示,基本上是一个小于int的数据类型.

为什么我们使用占用32位(大多数语言)的int,就像一个字节就足够只有8位.

我知道我们有32位和64位进程,所以我们可以在一次旅行中轻松获取值,但它仍然消耗更多内存.或者我在这里缺少什么?

更新:只是为了澄清.我知道速度明智没有区别.我问的是对内存消耗的影响.

for-loop coding-style memory-optimization

16
推荐指数
4
解决办法
786
查看次数

为什么在SOA设计中CRUD操作如此糟糕?

我刚读完John EvdemonMSDN上发表的一篇文章.他抨击CRUD接口并将其称为反模式.

虽然我同意有任何状态是困难的,而Current和MoveNext是不好的想法我不同意CRUD在Create Read Update和Delete中是不好的.如果我有汽车服务而且我想让客户能够做基本操作,例如创建汽车,获取汽车详细信息,更新汽车详细信息或删除汽车,那么他们如何能够做这些事情没有CRUD操作.

或者我在这里缺少什么?

soa design-patterns crud

14
推荐指数
3
解决办法
9417
查看次数

有没有办法让ClassLoader加载哪些类?

我正在尝试为旧框架实现一些单元测试.我试图模拟出数据库层.不幸的是,我们的框架有点陈旧,并没有完全采用最佳实践,因此没有明确的关注点分离.我有点担心试图模拟数据库层可能会使JVM加载大量甚至无法使用的类.

我不太了解类加载器,所以这可能不是问题.有没有办法在特定ClassLoader加载的所有类中达到峰值,以证明引擎盖下发生了什么?

java unit-testing jvm classloader

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

ASP.Net MVC或Zend Framework.你有什么意见

我正在寻找一个新项目,我正在尝试决定使用哪个框架.我一直在使用ASP.Net并享受它.我对Web应用程序的第一次介绍是使用PHP,我仍然喜欢它.该项目应该是由1或2名开发人员维护的中型项目,有可能增长.可以想到的唯一优点和缺点如下:

ASP.Net MVC优点

  • 大社区支持和增加
  • 似乎功能齐全

缺点

  • 获得专用服务器将是昂贵的.
  • SQL Server的许可版本将很昂贵

Zend框架专业人士

  • 也是一个相当大的社区
  • 免费,使用典型的LAMP设置

缺点

  • 不是主流
  • 可能包含可能的限制

最后,我很高兴使用ASP.Net的Master页面概念.ASP.Net MVC是否仍然支持这一点,并且Zend Framework有类似的东西.我认为Zend提供了一些名为模板的东西,它看起来与Master页面很接近.

你有什么意见?

php asp.net asp.net-mvc frameworks zend-framework

12
推荐指数
3
解决办法
9343
查看次数

使用+分配单个字符串值的性能成本是多少

我经常想知道,在最初为字符串赋值时,是否存在将字符串拆分为多行以提高可读性的性能成本.我知道字符串是不可变的,因此每次都需要创建一个新的字符串.此外,由于今天真正快速的硬件(除非你处于一些恶魔般的循环中),性能成本实际上是无关紧要的.例如:

String newString = "This is a really long long long long long" +
    " long long long long long long long long long long long long " +
    " long long long long long long long long long string for example.";
Run Code Online (Sandbox Code Playgroud)

JVM或.Net的编译器和其他优化如何处理这个问题.它会创建一个字符串吗?或者它会创建1个字符串然后一个新的连接值,然后另一个连接值再次?

这是出于我自己的好奇心.

c# java string performance compiler-optimization

11
推荐指数
4
解决办法
696
查看次数

为什么Log4Net没有在生产中创建日志文件?

我正在使用VS2005,一个网站项目,一个Web部署项目和Log4Net.我在本地开发时可以使用日志记录.我可以看到日志文件,一切都很好.当我构建我的网站时(使用Web部署项目),我将deploy用作单个DLL选项.当我然后检查我的日志文件应该在哪里的位置时,我看不到任何文件.

有没有办法解决这个问题.我不认为将调试值添加到应用程序设置将有所帮助,因为我没有控制台,因为它是一个网站.

编辑 我不希望150名代表最后一次浪费.我将开发环境中的内部跟踪与生产中的跟踪进行了比较.我的开发环境跟踪显示调用Xml配置器,而生产环境没有.我在application_start()方法的global.asax中有代码.我把调试代码放在那里,它在dev中被调用但在生产中没有调用.

我认为这是Web部署项目导致一些问题的地方.global.asax是否被编译到单个DLL中?当我在部署目录中进行构建时,我看到了一个global.compiled文件.这必须进入生产中的bin文件夹吗?或者是单个DLL中的global.asax代码?在bin文件夹或只是DLL中都没有改变任何东西.

asp.net log4net

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

存储库,工厂和分层结构化数据

我正在通过Eric Evans的领域驱动设计,他概述了存储库和工厂之间的相互作用.存储库本身将调用DB接口来获取结果集.然后将该结果集传递给工厂,该工厂将理解该结果集以重构该对象.

如果数据本质上是分层的,就像某种树结构那样.例如:

public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Foo Parent { get; set; }
    public ICollection<Foo> { get; set; }

    // Other business like methods here

}
Run Code Online (Sandbox Code Playgroud)

使用DDD我会有我的接口和实现:

public interface IFooRepository
{
    Foo Get(int id);
}

public interface IFooFactory<TSource>
{
    Foo Create(TSource source);
}

public class SqlFooRepository: IFooRepository
{
    private readonly IFooDao dao;
    private readonly IFooFactory<SqlDataReader> factory;

    public SqlFooRepository(IFooDao dao, IFooFactory factory)
    {
        this.dao = dao; …
Run Code Online (Sandbox Code Playgroud)

c# domain-driven-design ddd-repositories

10
推荐指数
1
解决办法
1162
查看次数