我正在编写一个软件,它需要创建一些几乎相同的代码块,这些代码块只在几个位置有所不同,需要用每个特定实例的唯一值替换。
我已经写好了代码块的模板,以及需要输入到模板中的值列表。我怎样才能自动执行此操作而无需实际编写更多代码?是否有任何文本编辑器具有这种功能?我认为 MS Word 的邮件合并功能可以工作,但我宁愿将源代码保留在 Word 之外。这感觉不对。我刚刚下载了 Notepad++,但没有什么特别之处。此外,这是一个 Visual Studio 中的 C# 项目,因此如果我可以在 Visual Studio 中完成它,那就更好了。
针对关于重复功能的建议,我真的不是。我复制的代码块如下。它是一个非泛型类,它派生自。我需要创建大量与特定类型关联的非泛型版本的类。我有
[ComponentDescription("Document XXXXXX", "Returns the XXXXXX objects from the document")]
[DataContract]
public class DocumentXXXXXXCollection : DocumentElements<XXXXXX>
{
}
答案1
几乎相同的代码块,仅在少数位置有所不同
我会考虑具有继承方法的子程序、函数或子类。
我已经写出了代码块的模板,以及需要输入到模板中的值的列表。
Eclipse 等 IDE 支持模板,但它们希望你提供缺失的值
我怎样才能自动完成这个任务而实际上不需要编写更多的代码来实现它呢?
问题是,如果你是一名程序员,编写代码将值替换到模板中通常是一个相对简单的解决方案。我发现 Perl 非常适合多种文本操作。
答案2
您确定您编写程序的方式真的是最佳方式吗?这种代码重复很少需要,而且几乎总是效率低下且浪费资源。您能不能想出一种方法来重复使用相同的代码块并向其传递额外的参数或其他东西,而不是一遍又一遍地编写相同的代码?