国际化网络应用似乎总是一件苦差事.无论您为可插拔语言提前做多少计划,编码都会出现问题,不适合您模板的时髦措辞以及其他问题.
我认为,在决定将他们的网络应用程序国际化时,获得SO社区对程序员应该注意的一系列内容的输入会很有用.
在VS2008中加载解决方案时,我得到:
上次加载此解决方案时打开关联文档时遇到错误.在此解决方案加载期间,将跳过文档加载,以避免该错误.
如何找到导致问题的文档?
有人说C#可以被认为是一种函数式编程语言,尽管它被广泛认为是一种OO编程语言.
那么,什么功能集使C#成为一种函数式编程语言?
我只能想到:
还要别的吗?
首先,我将描述一个如何在Visual Studio中使用C#实现这一点的示例,因为VS通常会通知您是否有循环引用并阻止它.
首先,仅依靠Visual Studio和.Net为您提供的代码创建Utilities类.然后,创建一个依赖于Utilities 的电子邮件类.不是将两个项目都添加到单个解决方案中,而是创建新的解决方案并添加对Utilities.dll的引用.然后,一段时间后,有人决定他们希望Utilities类发送电子邮件并添加对Email.dll的引用.Visual Studio非常乐意让您这样做,但是现在源代码不会在没有二进制文件的情况下按原样编译.
在我的工作地点,在进行开发时复制并粘贴二进制文件是标准的过程,然后只构建您正在处理的项目.这导致代码库中至少有一个循环引用已经被忽视超过3年.
这对我来说似乎是一个非常糟糕的做法,因为没有先从DLL开始构建任何项目.这个论点与我合作的"实际"人群有点平淡,因为我们似乎不太可能同时丢失所有二进制文件的副本.二进制文件在任何时候都不存储在版本控制中,这只会让我更担心.
这似乎是应该避免的情况,但不是造成任何明显威胁的情况.项目之间的循环引用真的很重要,还是我把它吹得不成比例?
有人可以请我指向一个更简洁的方法来生成随机枚举成员.这有效,但看起来很难看.
谢谢!
public T RandomEnum<T>()
{
string[] items = Enum.GetNames(typeof( T ));
Random r = new Random();
string e = items[r.Next(0, items.Length - 1)];
return (T)Enum.Parse(typeof (T), e, true);
}
Run Code Online (Sandbox Code Playgroud) 我想在(restful)webservice上做一些功能测试.testsuite包含一堆测试用例,每个测试用例在webservice上执行几个HTTP请求.
当然,Web服务必须运行或测试失败.:-)
启动Web服务需要几分钟(它会提升一些重量级数据),因此我希望尽可能少地启动它(至少所有只有来自服务的GET资源可以共享一个的测试用例).
那么在测试运行之前,有没有办法在测试套件中设置炸弹,就像测试用例的@BeforeClass方法一样?
是否有任何与dynamic_cast错误处理相关的良好实践(除非您不必使用它)?我想知道我应该如何处理NULL和它可以抛出的bad_cast.我应该检查两者吗?如果我捕获bad_cast或检测到NULL,我可能无法恢复...现在,我正在使用assert检查dynamic_cast是否返回NULL值.你会在代码审查中接受这个解决方案吗?
当我在Visual Studio中按///时,是否可以从此更改生成的代码段:
/// <summary>
///
/// </summary>
Run Code Online (Sandbox Code Playgroud)
对此?:
/// <summary></summary>
Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要翻译成30种语言的软件项目.这意味着更改任何字符串会导致成本相对较高.此外,翻译不会在一夜之间发生,因为翻译包需要由不同的翻译人员来处理,因此这可能需要一段时间.
添加新功能在某种程度上是麻烦的.我们可以在实际编写UI代码之前考虑所需的所有字符串,但有时我们还需要添加新字符串,因为修复了错误或者因为疏忽.
所以问题是,你如何管理所有这些过程?有关如何减轻软件项目中翻译影响的任何提示?如何统治字符串,而不是让字符串统治你?
编辑:我们正在使用Java,并且所有字符串都使用资源包进行国际化,因此问题不在于国际化本身,而在于字符串的管理.
您认为在项目中使用Option Infer的最佳做法是什么?
在Visual Studio 2008中,Option Infer是一个指令,它允许编译器通过查看分配给它的内容来推断声明变量的数据类型.
这是VS2008中的一个关键功能,广泛用于LINQ语句和查询.但是,启用Option Infer可能会给未来的维护程序员带来陷阱.
c# ×3
c++ ×1
dynamic-cast ×1
enums ×1
java ×1
junit ×1
option-infer ×1
unit-testing ×1
vb.net ×1
xml-comments ×1