我应该为单元测试开始一个新项目吗?这意味着我会得到两个可执行文件正确吗?然后我担心命名空间组织.我是否可以将单元测试放在与他们正在测试的类相同的名称空间中,尽管它们是不同项目的一部分?
这提出了另一个问题.我知道命名空间命名约定是CompanyName.TechnologyName.Feautre.Design.如何在我的解决方案/项目布局中实现这一目标?解决方案名称=公司名称,项目名称=技术名称?
如果是这样的话,这意味着我无法将我的单元测试分成新项目.
我正在阅读书清洁代码http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
作者提到您应该在类的名称中避免使用管理器,处理器,数据或信息等单词.我到处都用过这些.什么是更好的名字?我有一个负责启动和停止连接的类.所以我把它命名为ConnectionManager.
我经常考虑尝试学习像C++这样的语言来更好地理解计算机.对我来说,知道C/C++就像是编程的黑带.但是,你看看一些伟大的开发人员,我不认为他们曾经学过C++.
对于某些下雨天(更像是下雨年)来说这是一个好主意还是我应该继续推动我已经知道的语言的界限.
编辑:回答一些问题.我有几年的Java经验.在Delphi工作了很多,大约一年半以前开始使用C#来创建我必须创建的一些Web应用程序.
有时候你知道你的循环永远不会超过x次,其中x可以用byte或short来表示,基本上是一个小于int的数据类型.
为什么我们使用占用32位(大多数语言)的int,就像一个字节就足够只有8位.
我知道我们有32位和64位进程,所以我们可以在一次旅行中轻松获取值,但它仍然消耗更多内存.或者我在这里缺少什么?
更新:只是为了澄清.我知道速度明智没有区别.我问的是对内存消耗的影响.
我刚读完John Evdemon在MSDN上发表的一篇文章.他抨击CRUD接口并将其称为反模式.
虽然我同意有任何状态是困难的,而Current和MoveNext是不好的想法我不同意CRUD在Create Read Update和Delete中是不好的.如果我有汽车服务而且我想让客户能够做基本操作,例如创建汽车,获取汽车详细信息,更新汽车详细信息或删除汽车,那么他们如何能够做这些事情没有CRUD操作.
或者我在这里缺少什么?
我正在尝试为旧框架实现一些单元测试.我试图模拟出数据库层.不幸的是,我们的框架有点陈旧,并没有完全采用最佳实践,因此没有明确的关注点分离.我有点担心试图模拟数据库层可能会使JVM加载大量甚至无法使用的类.
我不太了解类加载器,所以这可能不是问题.有没有办法在特定ClassLoader加载的所有类中达到峰值,以证明引擎盖下发生了什么?
我正在寻找一个新项目,我正在尝试决定使用哪个框架.我一直在使用ASP.Net并享受它.我对Web应用程序的第一次介绍是使用PHP,我仍然喜欢它.该项目应该是由1或2名开发人员维护的中型项目,有可能增长.可以想到的唯一优点和缺点如下:
ASP.Net MVC优点
缺点
Zend框架专业人士
缺点
最后,我很高兴使用ASP.Net的Master页面概念.ASP.Net MVC是否仍然支持这一点,并且Zend Framework有类似的东西.我认为Zend提供了一些名为模板的东西,它看起来与Master页面很接近.
你有什么意见?
我经常想知道,在最初为字符串赋值时,是否存在将字符串拆分为多行以提高可读性的性能成本.我知道字符串是不可变的,因此每次都需要创建一个新的字符串.此外,由于今天真正快速的硬件(除非你处于一些恶魔般的循环中),性能成本实际上是无关紧要的.例如:
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个字符串然后一个新的连接值,然后另一个连接值再次?
这是出于我自己的好奇心.
我正在使用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中都没有改变任何东西.
我正在通过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) asp.net ×2
c# ×2
java ×2
unit-testing ×2
.net ×1
asp.net-mvc ×1
c ×1
c++ ×1
classloader ×1
coding-style ×1
crud ×1
for-loop ×1
frameworks ×1
jvm ×1
log4net ×1
oop ×1
performance ×1
php ×1
soa ×1
string ×1