小编Ben*_*een的帖子

单元测试数据库驱动的.NET应用程序

对大量依赖数据库的.NET中间件进行单元测试的最佳方法是什么?例如,从多个数据库读取数据,操作它,然后将其组合并写入其他数据库的过程?

数据库是否应填充静态数据,这些数据在每次单元测试运行时都会重置?是否应该以某种方式模拟整个SQL Server访问?在现实世界中对这样的应用进行单元测试是否不可行?

.net sql-server unit-testing

17
推荐指数
1
解决办法
2632
查看次数

使用敏捷建造飞机?

开发人员可以从其他行业中学到很多东西.作为思考练习,是否可以使用敏捷技术建造客机?

忘记现在的成本; 对硬件(机身,机翼等)以及软件使用迭代和增量开发是否可行,并且仍然提供一种在交付时满足客户要求的工作和安全产品?

重构飞机是否有意义?

agile

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

合并时TFS丢失历史记录

Team Foundation Server(TFS)2005和2008都会在文件分支和合并时丢失历史记录(签入+注释).因此,例如,如果分支中的更改然后合并回根分支,则分支中所做的任何更改都不会在根分支中可见.历史中唯一可见的事情表明发生了合并.

有没有人知道是否有一个选项可以设置为保留历史记录,或者以不同的方式进行合并以保留历史记录?

version-control tfs

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

源控制 - 每个产品都需要单独的分支吗?

假设您有四种产品,每种产品都有自己的发布时间表.每种产品都有50%的共享代码(所有产品的通用功能)和50%的产品特定代码.

您是否需要为每个产品单独的源控制分支?是否应始终在四个产品分支之一中开发通用功能,并在以后合并到其他产品中?

典型场景:产品A将在下个月发布,需要核心(共享)增强1,产品B将在四个月内发布,并需要核心(共享)增强2(需要三个月才能完成).

svn version-control tfs branch

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

敏捷场景,这是正确的吗?

想象一下,你有一个用户故事1需要实现一个方法:

public static void MyMethod(string paramA);
Run Code Online (Sandbox Code Playgroud)

有几个类将使用此方法,MyMethod会完成完成用户故事1所需的所有操作,但仅此而已.

您很确定在将来的迭代中会出现另一个故事(用户故事2),这将需要该方法成为:

public static void MyMethod(string paramA, int paramB);
Run Code Online (Sandbox Code Playgroud)

之前对MyMethod的调用需要重构,并且需要添加一些对MyMethod的新调用以满足用户故事2的要求(在故事2之后注意,仅使用paramA调用MyMethod是没有意义的).

在处理用户故事1时,敏捷思考:

1)只实现:public void MyMethod(string paramA);

2)实现:public void MyMethod(string paramA,int paramB); - 但现在对第二个参数不做任何事情.此时调用将0传递给第二个参数.

3)实现:public void MyMethod(string paramA,int paramB); - 但现在对第二个参数不做任何事情.呼叫传递正确的值(根据用户故事2的期望)

4)实现:public void MyMethod(string paramA,int paramB); - 所有电话完全覆盖用户故事1和2

agile scrum

5
推荐指数
2
解决办法
622
查看次数

如何在Vista下保存所有用户的设置

我需要保存一个设置,然后该设置可供给定计算机上的所有应用程序用户使用.它需要在Vista/Win 7上运行,并且该应用程序不会以管理员身份启动.

  • 由于Program Files文件夹在Vista上受到保护,因此无法保存到程序目录
  • 无法保存到HKEY_LOCAL_MACHINE,因为它也受到保护
  • 无法保存到服务器或Web服务

我在哪里可以保存数据?即使应用程序权限在执行期间以某种方式提升,我担心注册表现在在Vista中虚拟化 - 所以我最终会得到一个特殊的HKEY_LOCAL_MACHINE,它实际上只适用于当前用户.

我正在使用.NET

.net c# vb.net windows-vista windows-7

5
推荐指数
2
解决办法
2099
查看次数

什么代码是重复使用的候选人?

想象一下,你为一家小型精益软件公司工作.您知道公司未来的竞争力在于拥有良好的可重用代码库.管理公司的再利用政策以确保您今天的交付,同时为未来提供支持,这将是非常重要的.

在我看来,在业务中编写可重用代码有两个原因; 1)在公司内共享以提高未来的速度和效率2)在网络上发布和其他人将有助于改进代码(从某种意义上说是众包).

开发人员应该始终运用常识来重复使用.但是为了从管理角度处理这个问题,我想要一些整体的代码重用指南,以确保我们现在和将来都具有竞争力.这些指南应鼓励开发人员询问"我的代码是否为重用候选人?".这些指导方针应该说什么?

我最初的想法:在最低级别编写可重用的代码是不值得的(例如,我有一些内联代码在字符串的末尾添加了一个"s"),这个代码的代码太多了.甚至筛选,发现有人已经做过了.在最顶层(即应用程序)编写可重用代码也是不值得的,因为您的客户报告应用程序最终会被通用化为SQL客户端 - 对大多数用户来说是无用的.

可重复使用代码的主要障碍:除非您知道它存在,否则不能重复使用它; 信任 - 它已经完成,但你相信吗?使代码通用/可重用(并记录)的初始时间.

agile code-reuse

3
推荐指数
1
解决办法
312
查看次数

使用敏捷构建生命关键系统

看看我在使用敏捷建造飞机的问题中的评论总趋势,除成本之外的最大问题似乎是安全性.

人们是否觉得使用敏捷建立一个安全系统(或证明它是安全的)是不可能的?并非所有的迭代测试都能缓解这个问题吗?使用敏捷开发的软件是否可能永远不会像瀑布那样可靠?

agile unit-testing reliability

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