目前,我们正在为C#winforms项目使用以下版本编号方案:
"重大发布"."次要发布"."迭代次数"."迭代中的内部编号"
我们希望能够通过查看版本号来识别该迭代中的迭代次数和构建次数.
在过去,我们做过类似的事情:"主要版本"."次要版本"."1.0的顺序版本号".例如,"4.0.648"意味着自1.0以来有648个构建 - 但是这些信息相当无用和轶事,这就是为什么我们改变以反映迭代中的迭代和构建.
因此,考虑到这个新的敏捷版本编号,我们现在遇到了一个问题,即不同的产品组希望在我们的项目的迭代中进行更改.在这种情况下,版本号没有意义,因为它们的迭代和构建号不对应.例如,我的项目的最后一次构建是1.0.5.1,表示第一次构建迭代5.现在这个第三次迭代的另一个项目想要对我的项目进行更改并重建.
我应该如何应对这种情况?你如何在敏捷项目中进行版本编号?
我刚学会(艰难的方法)数据绑定不适用于字段.考虑到自动属性的简单性,这不是问题,但我想知道为什么会这样.谁能解释一下?
有人做过时间单元测试吗?
我甚至不确定这种术语是否被创造出来,但重点是测试操作是否在时间限制内执行.我有一些算法,我想测试他们的执行时间是否按预期增加,我想类似的测试可以用于IO,什么不是,有点像test_timeout或其他东西.
但是,由于硬件会影响执行速度,因此它似乎并不重要.所以我想知道是否有人曾经尝试过这种事情,如果他们愿意分享他们的经验.
谢谢
编辑:尝试编译在这种情况下需要处理的事项列表
我的程序中的一些加载例程需要很长时间才能完成.我想要一个快速的小片段来检查函数执行的时间.我的意思是"最好没有第三方图书馆".
也许就像花费系统时间一样简单?
start = current_system_time()
load_something()
delta = current_system_time()-start
log_debug("load took "+delta)
Run Code Online (Sandbox Code Playgroud)
编辑:有问题的目标操作系统是Windows.
我有以下SWT测试代码:
public static void main(String[] args) {
shell = new Shell();
shell.setText(APP_NAME + " " + APP_VERSION);
shell.addShellListener(new ShellListener() {
public void shellActivated(ShellEvent event) { }
public void shellClosed(ShellEvent event) { exit(); }
public void shellDeactivated(ShellEvent event) { }
public void shellDeiconified(ShellEvent event) { }
public void shellIconified(ShellEvent event) { }
});
shell.open();
display = shell.getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
Run Code Online (Sandbox Code Playgroud)
我的exit()方法如下:
private void exit() {
System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过关闭shell("窗口")或下拉应用程序菜单(标记为"SWT")并选择"退出"来退出应用程序.
当我这样做时,一个SWT存根留在Dock中,并且SWT应用程序实际上没有退出.我必须通过Eclipse或Force Quit手动终止SWT应用程序.
我已经尝试使用v3.4和v3.5 SWT jar,在Mac …
我需要删除SQL Server数据库中高度引用的表.如何获取我需要删除的所有外键约束的列表以便删除表?
(在管理工作室的GUI中,SQL答案比点击更好.)
我正在为类库(C#2.0)添加一些加密方法,并且想知道放置密码短语,盐值和初始化向量所需的最佳位置.将这些硬编码到DLL中是一个非常糟糕的主意,还是应该对它们进行编码并将它们存储在其他地方?
谢谢.
编辑:更多信息 - 数据库中的个人信息(地址,电话号码等)所需的加密,没有银行/医疗类型信息,因此解决方案不需要太硬核.类库将在服务器上用于web-app,加密方法将在数据层中使用.
我想在看到错误消息时停止Python脚本.
我不希望在shell(例如exit())上出现任何错误消息.
怎么做 ???
在我的主页上,我正在使用此方法隐藏垃圾邮件机器人的电子邮件:
<a href="admin [at] example.com"
rel="nofollow"
onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>
Run Code Online (Sandbox Code Playgroud)
你怎么看待这件事?有效吗?您还知道或使用其他哪些方法?
好吧,我试图弄清楚这有可能以任何方式.这是代码:
a=function(text)
{
var b=text;
if (!arguments.callee.prototype.get)
arguments.callee.prototype.get=function()
{
return b;
}
else
alert('already created!');
}
var c=new a("test"); // creates prototype instance of getter
var d=new a("ojoj"); // alerts already created
alert(c.get()) // alerts test
alert(d.get()) // alerts test from context of creating prototype function :(
Run Code Online (Sandbox Code Playgroud)
如你所见,我试图创建原型getter.为了什么?好吧,如果你写这样的东西:
a=function(text)
{
var b=text;
this.getText=function(){ return b}
}
Run Code Online (Sandbox Code Playgroud)
......一切都应该没问题......但实际上每次创建对象时 - 我都会创建使用内存的getText函数.我想在记忆中有一个原型功能可以做同样的事情...任何想法?
编辑:
我试过Christoph给出的解决方案,它似乎是目前唯一已知的解决方案.它需要记住id信息以从上下文中检索值,但是整个想法对我来说很好:) Id只是要记住的一件事,其他一切都可以在内存中存储一次.实际上,您可以通过这种方式存储许多私有成员,并且只能使用一个id.实际上这让我很满意:)(除非有人有更好的主意).
someFunc = function()
{
var store = new Array();
var guid=0;
var someFunc = function(text)
{
this.__guid=guid;
store[guid++]=text; …Run Code Online (Sandbox Code Playgroud) c# ×3
agile ×1
algorithm ×1
benchmarking ×1
c++ ×1
data-binding ×1
dll ×1
email ×1
encryption ×1
html ×1
java ×1
javascript ×1
macos ×1
private ×1
prototype ×1
python ×1
security ×1
spam ×1
sql ×1
sql-server ×1
swt ×1
t-sql ×1
time ×1
unit-testing ×1
versioning ×1
windows ×1