正如Knuth所说,
我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源.
这是Stack Overflow常常出现的问题,例如"哪个是最有效的循环机制","SQL优化技术?"等问题.(等等).这些优化提示问题的标准答案是分析您的代码并首先查看它是否是一个问题,如果不是,那么您的新技术就不再需要了.
我的问题是,如果某种技术不同但不是特别模糊或混淆,那真的可以被认为是过早的优化吗?
这是Randall Hyde的一篇名为"过早优化的谬误"的相关文章.
这是一个普遍的问题,对意见持开放态度.我一直在努力想出一个很好的方法来设计Windows MFC应用程序和相关实用程序的字符串资源本地化.我的愿望是:
我有一种方法可以在某种程度上满足我的所有愿望清单,除了静态检查,但我必须开发一些自定义代码来实现它(并且它有局限性).我想知道是否有人以特别好的方式解决了这个问题.
编辑:我目前的解决方案如下:
ShowMessage( RESTRING( _T("Some string") ) );
ShowMessage( RESTRING( _T("Some string with variable %1"), sNonTranslatedStringVariable ) );
Run Code Online (Sandbox Code Playgroud)
然后我有一个自定义实用程序来解析'RESTRING'块中的字符串并将它们放入.resx文件进行本地化,以及一个单独的C#COM对象,用于从带有回退的本地化资源文件加载它们.如果C#对象不可用(或无法加载),我将回退到代码中的字符串.宏扩展为一个模板类,它调用COM对象并进行格式化等.
无论如何,我认为添加我现在的内容以供参考是有用的.
灵感来自这个无辜地开始但正在变成一场大火焰战争的问题.
假设您需要一种实用方法 - 相当简单,但不是单行.引用的问题是如何重复X次字符串.您如何决定是使用第三方实施还是自己编写?
第三方方法的明显缺点是您正在为代码添加依赖项.但是如果你自己编写,你需要对它进行编码,测试它,(也许)对它进行分析,这样你最终可能会花费更多的时间.
我知道决定本身是主观的,但你用来达到它的标准不应该是.
那么,您使用什么标准来决定何时编写自己的代码?