标签: code-generation

语言巫师认为有害吗?

奇才可以启动功能.他们也可以混淆你的代码,并且是反YAGNI.

总的来说,你认为奇才更有用还是更有害?

ide code-generation wizard yagni

2
推荐指数
1
解决办法
314
查看次数

如何选择bitflag值?

我有一组选项,一些正交(可以任意组合组合),一些独占(允许只允许一组),并需要选择一组enum值,以便它们可以按比特组合or并提取有点位and.我希望 - or无效组合是可检测的.

有没有像这样生成的工具enums

编辑清晰

我正在寻找能够利用某些标志组合无效以减少使用的位数的事实.我能够检测错误的要求是软的.如果事情被破坏,我不需要能够告诉我们使用了什么.

我正在使用C#,但任何解决方案都应该有用.

一个示例模式是:

0011 00
0101 00
1001 00
0110 00
1010 00
1100 00

0000 01
0000 10
Run Code Online (Sandbox Code Playgroud)

获得6个独占标志和一个2到6位的正交对

快速测试表明,5位给出9个值,6位给出20,...

language-agnostic code-generation bitflags bit-fields

2
推荐指数
1
解决办法
551
查看次数

自动生成包装以防止"恶意贬低"?

如果在Java中实现接口,则没有什么可以阻止调用者查看您提供的具体实现,转换为该类并调用不在接口中的方法.我相信这被称为"恶意贬低".

防止这种情况的一种方法是创建一个只包含接口方法的包装器,并且不公开它所委托的实现实例.如果没有对私有变量的反思,你应该是安全的.

有没有办法自动创建这种包装器(在运行时,不使用IDE中的代码创建向导,因为仍然会创建需要维护的源文件)?

java delegates code-generation

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

如何生成c#代码?

我正在写一个桌面应用程序.它需要在客户端机器上生成c#代码.

我想过使用CodeDOM(复杂)或简单的字符串操作(脆弱).还有什么?推荐哪种方式?

c# code-generation codedom

2
推荐指数
1
解决办法
334
查看次数

Makefile可以确定使用gcc哪些标题丢失?

我有一个简单的库为我生成标题,我希望在Makefile中将它链接在一起.

如果cpp文件包含不存在的头文件,它应该从匹配的源文件生成它(如果相应的文件存在).我无法弄清楚如何做到这一点.

我已经尝试使用gcc -MM提前找出每个.cpp文件的依赖关系,但如果缺少标头,则会失败.我需要知道哪些文件丢失以尝试重新生成它们.

如果我只是定义了一个标题prequisite所有.cpp文件,它总是会重新编译所有的,当然我的.cpp文件.

有关如何重新生成缺少的标头的任何想法?

build-automation dependencies code-generation makefile

2
推荐指数
1
解决办法
333
查看次数

如何在FileHelpers中使用动态CSV分隔符?

问题:我需要阅读CSV文件.我使用FileHelpers库来实现这一点.

问题是我需要一个动态分隔符(用户定义),这意味着任何东西都可以是分隔符(逗号,分号,制表符,换行符,还有其他任何东西).

问题是,FileHelpers在属性中定义了分隔符,这意味着在编译时.这使得它无法动态地完成.

我能做的是声明一个新类,它继承自一个基类,并在这个新类上设置分隔符.

[FileHelpers.DelimitedRecord(",")]
public class CommaCustomer : BaseCustomer
{

}
Run Code Online (Sandbox Code Playgroud)

这样我只需要在每个新分隔符的基类中进行更改.问题是,这是我不能(也不想)为每个可能的分隔符创建子类.

这是我到目前为止的代码:

using System;
using System.Data;
using System.IO;
//using FileHelpers;
//using FileHelpers.RunTime;


namespace Examples
{


    class MainClass
    {


        [STAThread]
        static void Main()
        {
            FileHelpers.FileHelperEngine engine = new FileHelpers.FileHelperEngine(typeof(SemicolonCustomer));

            // To read use:

            string str = @"D:\Username\Desktop\FileHelpers_Examples_CSharp_VbNet\Data\SemicolonCustomers.txt";
            //str = @"D:\Username\Desktop\FileHelpers_Examples_CSharp_VbNet\Data\CustomersDelimited.txt";
            SemicolonCustomer[] custs = (SemicolonCustomer[])engine.ReadFile(str);
            //Customer[] custs = (Customer[]) engine.ReadFile("yourfile.txt");


            foreach (SemicolonCustomer cli in custs)
            {
                Console.WriteLine();
                Console.WriteLine("Customer: " + cli.CustId.ToString() + " - " + cli.Name);
                Console.WriteLine("Added Date: " …
Run Code Online (Sandbox Code Playgroud)

.net c# csv filehelpers code-generation

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

创建没有指针别名的编程语言的可能性

我对这里的所有编程爱好者都有一个问题.指针一直存在于编程世界中.就像在C,C++中得到明确的指针支持一样.在java中,显式指针支持不存在,但Java系统内部使用指针.在实际的世界中,是否可以开发一种编程语言来完全没有指针别名?

java compiler-construction code-generation parser-generator

2
推荐指数
1
解决办法
1557
查看次数

如何调试在运行时创建的clojure代码?

假设我有一个用clojure编写的应用程序,它在运行时生成代码.如何调试该代码 - 我没有源代码?

编辑:我问这个问题,因为我正和我的同事聊聊clojure,他说由于上述原因,clojure程序很难(或不可能)进行测试.我认为这是一种评价者的悲观态度.如果它是不可测试的,没有人会使用它.

code-generation clojure

2
推荐指数
1
解决办法
320
查看次数

在Android Studio中使用生成的源或src-gen文件夹?

我的项目我的目录如下所示:

-project
  -someModule
  -mainProjectModule
    -src
      -main
        -java
          (all of my code)
Run Code Online (Sandbox Code Playgroud)

我想添加一个src-gen文件夹,所以它看起来像这样:

-project
  -someModule
  -mainProjectModule
    -src
      -main
        -java
          (all of my code)
    -src-gen
      -main
        -java
          (all of my generated code)
Run Code Online (Sandbox Code Playgroud)

我生成的代码与非生成代码位于同一个包中.如何在Android Studio中将/ src-gen/main/java文件夹变为蓝色,我需要在gradle中放置什么才能使其正确构建?我目前在我的gradle中有这个,它似乎不起作用:

sourceSets {
    main {
        java.srcDirs = ['src/main/java', 'src-gen/main/java']
    }
}
Run Code Online (Sandbox Code Playgroud)

我还尝试手动编辑mainProjectModule.iml文件,将/ src-gen/main/java文件夹添加为源,它将变为蓝色,但几秒后它会自动更改回来.

code-generation generated-code greendao android-studio

2
推荐指数
1
解决办法
6307
查看次数

Telosys:我如何在模板中获取数据库表记录?

我正在使用Telosys工具进行代码生成.这是非常好的工具,对我帮助很大.

但是有一个问题,就是它提供了数据库模式信息,我可以在模板中访问(模板以前是速度模板),这很好,但我怎样才能从数据库中获取所选实体的数据?我无法找到,通过它我可以获得所选的表数据.

请提供解决方案,或提供替代方法.

感谢您!

code-generation telosys

2
推荐指数
1
解决办法
1153
查看次数