小编Dav*_*uth的帖子

如果在TeamCity中构建失败,则禁用工件发布

我的构建场景是这样的(简化):

  1. 套餐(*.zip)
  2. 部署到测试环境
  3. 在环境中运行测试

如果测试失败,TeamCity仍会发布工件.这是不必要的并且占用磁盘空间.我该如何防止这种情况?找不到任何复选框或其他东西(TeamCity 6.5 Enterprise).

teamcity continuous-integration

7
推荐指数
1
解决办法
1836
查看次数

TeamCity的AssemblyInfo修补程序的数字格式

我曾经有过TeamCity + WiX + MSBuild社区任务.现在我已升级到WiX 3.5,我不记得我是如何配置它的.:)当我在通过TeamCity进行攻击时,我遇到了"AssemblyInfo Patcher".我想,"太棒了!这会让我的生活变得更轻松!" 我使用%build.vcs.number.1%了格式并构建了我的安装程序.

虽然修补程序确实提取了vcs编号,但它将其用于版本中的主要编号.所以不是1.0.0.xxxx,它制作了版本xxxx.0.0.0.

我查看了JetBrain的文档站点,并提出了与将其更改为更合适的设置无关的任何内容.我也寻找正则表达式支持,但没有找到任何东西.

任何人都可以建议一个好的解决方案,或者我应该回去尝试配置我的原始工具集?

teamcity wix msbuildcommunitytasks wix3.5

7
推荐指数
2
解决办法
5795
查看次数

Objective-C - 模板方法模式?

所以我一直在阅读关于Objective-C的模板方法,我试图了解它们的特殊之处.根据我的理解,Base类中的任何方法都可以被覆盖并且可以调用super吗?那么模板方法不仅仅是覆盖基类中的方法吗?

如果我错了,你能解释一下模板方法模式是什么,你能提供一个例子吗?

design-patterns objective-c template-method-pattern

7
推荐指数
1
解决办法
7903
查看次数

工厂方法VS工厂对象

据我所知,工厂方法是简单工厂,工厂对象是抽象工厂?和:

- 工厂方法(简单工厂):

public class SimplePizzaFactory {
    public static final int CHEESE = 1;
    public static final int PEPPERONI = 2;
    public static final int VEGGIE = 3;

    public static Pizza createPizza(int type) {
        Pizza pizza = null;

        if (type == CHEESE) {
            pizza = new CheesePizza();
        } else if (type == PEPPERONI ) {
            pizza = new PepperoniPizza();
        } else if (type == VEGGIE ) {
            pizza = new VeggiePizza();
        }

        return pizza;
    }
}
Run Code Online (Sandbox Code Playgroud)

工厂对象(抽象工厂):

我对吗?

工厂模式的实现有多少,它们的区别是什么?

java design-patterns factory factory-method factory-pattern

7
推荐指数
1
解决办法
2768
查看次数

teamcity以特定用户身份运行构建

我需要在特定用户ID下的配置上执行构建.我怎样才能做到这一点?我无法切换代理服务作为此用户ID运行,因为我只需要为此特定配置使用此用户或生产ID.我怎么能在Teamcity中做到这一点?

teamcity build

7
推荐指数
1
解决办法
5667
查看次数

如何避免垂头丧气?

我有一个状态模式的实现,其中每个状态处理从事件队列获取的事件.State因此,基类具有纯虚方法void handleEvent(const Event*).事件继承基Event类,但每个事件都包含可以是不同类型的数据(例如int,string ......或者其他).handleEvent必须确定接收事件的运行时类型,然后执行向下转换以提取事件数据.事件是动态创建并存储在队列中的(因此在此处进行向上转换 ......).

我知道向下倾斜是一种糟糕设计的标志,但在这种情况下可以避免它吗?我正在考虑访问者模式,其中基类State将包含每个事件的虚拟处理程序,但是然后需要在代码片段中进行向下转换,该代码将队列中的事件从队列中取出并将其传递到当前状态.(至少在这种情况下,大switch(eventID)只会在一个地方......).访客模式是避免向下转换的最佳方式(最佳实践)吗?

这是伪代码(我boost::shared_ptr在这个例子中传递,但无论如何都会发生向下转换):

enum EventID
{
   EVENT_1,
   EVENT_2,
   ...
};

class Event
{
   EventID id;
public:
   Event(EventID id):id(id){}
   EventID id() const {return id;}
   virtual ~Event() = 0;
};

class Event1 : public Event
{
   int n;
public:
   Event1(int n):Event(EVENT_1), n(n){}
   int getN() const {return n;}
};

class Event2 : public Event
{
   std::string s; …
Run Code Online (Sandbox Code Playgroud)

c++ state casting visitor-pattern downcast

7
推荐指数
1
解决办法
3169
查看次数

命令查询分离:命令必须返回void?

如果CQS阻止命令返回状态变量,那么命令的一个代码怎么可能不成功?假设你不能依赖例外.

似乎任何请求/响应都违反了CQS.

所以看起来你会有一套"母亲可能我"的方法给出了命令返回的状态.多线程/多计算机应用程序中会发生什么?

如果我有三个客户端要求服务器的对象增加一个(并且对象的限制为0-100).所有人都检查它们是否可以但是一个人得到它 - 而另外两个不能,因为它只是达到了极限.这似乎是返回状态可以解决这里的问题.

command-query-separation

7
推荐指数
1
解决办法
756
查看次数

理解单一责任原则

我很困惑如何确定单个方法是否有一个责任,就像清洁代码一书中的以下代码一样

public Money calculatePay(Employee e) throws InvalidEmployeeType {
        switch (e.type) {
            case COMMISSIONED:
                return calculateCommissionedPay(e);
            case HOURLY:
                return calculateHourlyPay(e);
            case SALARIED:
                return calculateSalariedPay(e);
            default:
                throw new InvalidEmployeeType(e.type);
        }
    }
Run Code Online (Sandbox Code Playgroud)

正如作者在这段代码中所说的那样:"...... 显然不止一件事.第三,它违反了单一责任原则(SRP),因为改变它的原因不止一个. " 乍一看我的代码我在想这个方法是如何违反SRP的,因为如果代码发生了变化,只有当有一个添加的员工类型但是我试图理解方法时才会成为switch语句我进一步想出了为什么它违反了上述原则.

我的假设是,因为方法的名称是这个方法calculatePay(Employee e)的唯一责任是支付计算,因为方法的名称建议但是因为在方法内部有一个过滤过滤Employee的类型,这个过滤现在是不同的或因此,另一项责任违反了SRP.我不知道我是否做对了.

java design-patterns single-responsibility-principle

7
推荐指数
2
解决办法
791
查看次数

7
推荐指数
1
解决办法
3682
查看次数

单元测试中方法名称前面的井号(#)符号的用途是什么?

我看到许多测试描述,例如在Mocha中使用方法前面的#符号.这个的目的和起源是什么?我多年来一直这样做,就像一个旅鼠,所以我觉得是时候问为什么了:)

describe('#myMethod()', function() { ... })
Run Code Online (Sandbox Code Playgroud)

unit-testing naming-conventions

7
推荐指数
1
解决办法
362
查看次数