标签: code-generation

你创建自己的代码生成器吗?

实用程序员提倡使用代码生成器.您是否在项目中创建代码生成器?如果是的话,你用它们做什么?

code-generation

28
推荐指数
5
解决办法
4283
查看次数

如何从XSD文件创建数据库表?

我有一组XSD,我可以从中生成数据访问类,存储过程等等.

我没有的是从这些生成数据库表的方法 - 是否有一个工具可以为我生成DDL语句?

与数据集表中的创建数据库表不同,因为我没有数据集表,而是XSD.

.net sql database xsd code-generation

28
推荐指数
5
解决办法
13万
查看次数

Xcode中是否有一个关键组合来实现协议?

在Visual Studio中,如果我定义一个类来实现一个接口,例如

class MyObject : ISerializable {}
Run Code Online (Sandbox Code Playgroud)

我可以右键单击ISerializable,从上下文菜单中选择" 实现接口 ",并查看我的类定义中出现的相应方法.

class MyObject : ISerializable {
    #region ISerializable Members
    public void GetObjectData(SerializationInfo info, 
                StreamingContext context)
    {
        throw new NotImplementedException();
    }
    #endregion
}
Run Code Online (Sandbox Code Playgroud)

在Mac上的Xcode中有什么类似的功能吗?我希望能够以这种方式自动实现协议.也许使用生成的可选方法但注释掉了.

xcode refactoring code-generation objective-c

28
推荐指数
3
解决办法
2万
查看次数

Pex(测试生成)真的很有用吗?

是的,可以为"Sum"或"Divide"等函数生成边界值测试.Pex是一个很好的工具.

但更多时候我们会对商业行为进行测试.让我们考虑经典Beck的tdd书中的例子:

[Test]
public void ShouldRoundOnCreation()
{
  Money money = new Money(20.678);
  Assert.AreEqual(20.68,money.Amount);
  Assert.AreEqual(2068,money.Cents);
}
Run Code Online (Sandbox Code Playgroud)

可以生成此测试吗?没有:)我项目中95%的测试检查业务逻辑,无法生成.

Pex(特别是与Moles配对)可以提供100%的代码覆盖率,但是测试套件的高代码覆盖率从未表明,代码经过了充分测试 - 它只能让所有内容都经过测试.这非常危险.

所以,问题是 - Pex真的是有用的工具吗?

.net unit-testing code-generation pex

28
推荐指数
1
解决办法
5556
查看次数

如何隐藏Visual Studio中自定义工具生成的文件

我想隐藏我的自定义工具生成的文件,但我找不到任何关于如何完成此操作的文档.

我正在寻找的一个例子是文件背后的WPF代码.这些文件不会显示在Visual Studio项目视图中,而是使用项目进行编译,并在IntelliSense中可用.文件后面的WPF代码(例如,Window1.gics)由自定义工具生成.

c# wpf code-generation customtool visual-studio

28
推荐指数
2
解决办法
9308
查看次数

龙目岛与休眠

这可能吗?没有看到太多关于它的讨论.

java code-generation hibernate lombok

28
推荐指数
3
解决办法
1万
查看次数

从头文件自动生成C++文件?

我有一堆带有各种类和函数声明的C++头文件.到目前为止,当我编写声明的类和函数的C++源文件实现时,我已经手动:

  1. 将声明从头文件复制到相应的源文件.
  2. 删除"class classname {"和匹配的"};"
  3. 在所有类函数的名称上添加"classname ::".
  4. 用"{}"替换函数声明后的分号.
  5. 删除关键字"虚拟"和"静态".

只有在完成所有工作之后,我才真正开始实现这些功能.我想知道是否有某个工具可以从".h"文件自动生成".cpp"文件,其中生成的".cpp"包含".h"文件中声明的函数的空存根(并没有给出内联定义).一个UNIX友好的命令行工具将是首选.谢谢.

更新:跨平台工具将是理想的.如果没有,我正在使用Mac OS X 10.6.

c++ code-generation

26
推荐指数
2
解决办法
2万
查看次数

您使用T4的目的是什么?

T4已经在Visual Studio中存在了好几年,但没有得到很多关注.但是,对于那些了解它的人来说,似乎有一些非常有创意和有用的目的.

我正在研究使用T4的一些不同方式,我很高兴听到您如何将它用于现实生活场景.我主要对非标准和创造性用途感兴趣.

一些有趣的例子:

  1. Phil Haack使用T4 从.less创建静态CSS文件
  2. 使用T4模板生成WPF和Silverlight依赖项属性

注意:我意识到这是一个面向讨论的问题,但答案可能对其他人有所帮助.我已将其标记为主观且也标记为"社区维基",因此请允许该问题保持开放.谢谢!

t4 code-generation visual-studio

26
推荐指数
2
解决办法
2709
查看次数

无法从"完整配置"生成SBT 0.11的源代码

基于可用的sbt 0.11.0文档("常见任务"维基页面和其他),在看到如何在Scalaz SBT构建Scalate SBT构建中完成后,我无法弄清楚为什么我的简单示例不起作用:

import sbt._
import Keys._

object MyBuild extends Build {

  lazy val project = Project(
    id = "root", 
    base = file("."),
    settings = Defaults.defaultSettings ++ Seq(
      (sourceGenerators in Compile) <+= (sourceManaged in Compile) map { dir =>
        val file = dir / "bla.scala"
        IO.write(file, """object Bla extends App { println("bla!") }""")
        Seq(file)
      }
    )
  )

}
Run Code Online (Sandbox Code Playgroud)

把它放在一个空项目的project/build.scala上并运行"sbt compile"生成/编译什么都没有,"sbt run"抱怨它找不到任何主类.

现在,如果我将设置放在"快速配置"build.sbt中,而不是如上所述的完整配置,它就可以正常工作.

(sourceGenerators in Compile) <+= (sourceManaged in Compile) map { dir => …
Run Code Online (Sandbox Code Playgroud)

code-generation scala sbt

26
推荐指数
1
解决办法
674
查看次数

Java反射:如何在运行时覆盖或生成方法?

在普通Java中,可以在运行时以编程方式覆盖类的方法(甚至创建新方法)?

即使我在编译时知道类,我希望能够这样做.

我在运行时重写的意思是:

abstract class MyClass{
  public void myMethod();
}

class Overrider extends MyClass{
  @Override
  public void myMethod(){}
}

class Injector{
  public static void myMethod(){ // STATIC !!!
    // do actual stuff
  }
}

// some magic code goes here
Overrider altered = doMagic(
    MyClass.class, Overrider.class, Injector.class);
Run Code Online (Sandbox Code Playgroud)

现在,这个调用......

altered.myMethod();
Run Code Online (Sandbox Code Playgroud)

...将调用Injector.myMethod()而不是Overrider.myMethod().

Injector.myMethod()是静态的,因为在执行"magic"之后,它会从不同的类实例(它是Overrider)调用,(因此我们阻止它访问本地字段).

java reflection code-generation runtime

25
推荐指数
4
解决办法
3万
查看次数