小编Fin*_*las的帖子

支架放置是否会影响可读性?

可能的重复:
if语句的格式
是否有最佳的标识编码风格(同一行,下一行)?
编写stackoverflow样式'问题'/'标签'翻转按钮的最佳方法

public void Method {

}
Run Code Online (Sandbox Code Playgroud)

要么

public void Method
{

}
Run Code Online (Sandbox Code Playgroud)

除了个人喜好之外,还有一种风格比另一种风格更有益吗?我曾经用第二种方法发誓虽然现在使用第一种方式进行工作和个人项目.

可读性我的意思是想象那些方法中的代码 - if/else等......

curly-braces

5
推荐指数
3
解决办法
6009
查看次数

服务定位器不仅仅是全局变量/状态吗?

为了解耦代码,您可以使用服务定位器,但这与全局变量/状态不一样吗?

我知道这些通常会脱离接口,因此您传入一个接口并返回一个具体的类,但我的问题仍然存在。

例如:

class Something {

    void DoSomething() {
        IMyType myType = ServiceLocator.GetSerivceTypeOf(IMyType);
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的类需要在其他地方创建的 MyType,但不是通过链向下传递 MyType(通过构造函数等...),而是以这种方式获取。

我在作为开发人员的职业生涯早期就提出了这个问题 - 在此之前我没有遇到过这种模式。安东尼已经明确了我对服务定位器的看法(因此现在是选定的答案) - 事实上,我将它们视为像其他人一样的反模式。提供的链接是一个很好的起点 - 但为了在某种程度上回答我自己的问题,它们充当全局状态,应该避免。更喜欢标准依赖注入;)

language-agnostic dependency-injection service-locator

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

大单元测试数据

最近我写了一套依赖大量测试数据的单元测试.这个集合包含十二个元素,虽然这听起来并不像在测试中使用时那么多.

每个元素都需要使用唯一的vales设置多个属性.问题是使用这种方法是创建这组数据的工厂方法是巨大的.

有关此问题的最佳做法是什么?我的应用程序实际上通过文件读取数据但是对于测试我使用了来自内存存储器的模拟数据.

有什么建议?

unit-testing

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

对我来说使用Moq,我的所有类都必须实现一个接口吗?

我想使用Moq,但我使用的是Nhibernate而且我没有为我的所有Model类(POCO类)创建接口.

我是否必须为每个类创建一个接口,以便能够使用我的POCO类?

nhibernate nunit unit-testing moq

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

"或"运算符不再重复左手条件

自从我开始使用良好的旧版本VB6直到现在开始编程时,我经常在编程中被烧毁(并且只是)

if x == something or x == somethingelse
Run Code Online (Sandbox Code Playgroud)

我经常写作:

if x == something or somethingelse
Run Code Online (Sandbox Code Playgroud)

出于纯粹的兴趣,那里的语言/语言是否支持这一点?

programming-languages operators

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

转换和接口继承

每个项目都有一个界面IItem.除此之外,还有一个称为IDrawableItem继承自Item 的接口.

下面的代码试图绘制一个可绘制的项目,但不能像这个类存储的集合那样接受IItem.您可以添加任何继承自IItem此类的内容,但使用其他方法只能通过强制转换来实现.

foreach (var item in Items) {
    item.Draw();               // The casting would go here.
}
Run Code Online (Sandbox Code Playgroud)

我知道怎么演员as等......但是这可以接受吗?这是最佳做法吗?

只是想知道是否有其他方法来处理这种情况.

c# inheritance casting interface

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

使用指令进行组织,重新运行测试?

在进行提交之前,我希望在我的C#解决方案中运行所有数百项单元测试,因为它们仅需花费几分钟即可运行。但是,如果我已经全部运行了,一切都很好,然后我决定using在我的解决方案中组织指令,是否真的有必要重新运行单元测试?我有一个宏,它遍历解决方案中的所有文件,并在每个宏上运行Visual Studio的“删除和排序”命令。以我的理解,只要using更改指令后仍在构建所有项目,则运行时也应该没问题。这是正确的想法吗?

.net c# unit-testing using-directives compile-time

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

由于0.000000001f不准确导致单元测试失败

向量超出0.000000001f,因此测试失败.

我的头脑中的逻辑是-1.0f,-1.0f但是当我编写代码来通过测试时(使用内置的Vector方法),答案又回来了-0.999999999f,-0.999999999f仍然是'正确的' .

顺便说一下,这是C#(由XNA框架提供的Vector2类),所以我尝试将epsilon值添加到Vector的x和y参数中,但这不起作用.

我看待它的方式是通过编写答案,我正在编写生产代码.例如它会是一样的.当然这不是正确的.

有什么建议?

c# unit-testing

4
推荐指数
1
解决办法
196
查看次数

Java swing小型2D游戏:如何对视图进行建模?

在一个小型的Java swing 2D游戏中,创建棋盘视图的最佳解决方案是什么?

  1. 使用一个组件用于电路板并立即定制它和检查器的每个方块?
  2. 使用一个组件用于电路板并创建另一个组件,使用自己的paint组件对该方块进行建模,仅为方形工作.使用布局将每个Square实例放置在电路板中?

我知道这是主观的,我不想打架.我只需要一些线索来弄清楚自己应该走哪条路.我已经开始了一个侧面项目,我已经使用了1),感觉有些不对劲.

java swing java-2d

4
推荐指数
1
解决办法
1380
查看次数

你应该在Ruby中使用private,protected和public修饰符吗?

我来自更多的C#背景,但我在业余时间学习Ruby.

给定类,可以制作他们的方法private,public(默认)或protected.虽然我理解它们的用法,但Ruby代码是否通常使用这些修饰符,尽管它是一种动态语言,用户可以轻松地覆盖访问权限?

虽然使用类似的东西Send允许用户访问私有方法,但我只是想知道关于Ruby和访问修饰符的最佳实践是什么?换句话说,我应该在课堂上使用它们吗?

ruby access-specifier

4
推荐指数
1
解决办法
2277
查看次数