Skip to content

TODO List #31

Description

@z2z23n0
No. Task Desc Owner Status
1 翻译英文文档 将README制作成CN和EN两个版本    Done
2 为代码添加注释 项目代码中的函数名都体现出了函数的作用,但如果能为代码添加有用的注释(EN),将有助于自己和他人更容易的理解代码的功能    
3 提高代码质量 如果发现代码中不符合编程规范的地方(例如变量命名不合理,代码可读性差),或是对同一功能有更好的实现方式,欢迎帮忙纠正它    
4 增加函数实现[#7] 实现一些使用率高的函数并完成对它的泛型支持是这个项目最主要的工作。你可以先像betterGo/enum中的add map reduce那样使用interface实现一个[#7]中列出的常用函数,接着再完成它的具体类型生成的部分。PS:这个工作相对简单,可以用来入门。只需要在完成interface版本之后在genFunctionBody GenEnumFunctionDecl函数中添加相应的内容    
5 替换assert[#8] 现阶段的enum包函数调用需要使用assert来告知我们生成的代码的返回值类型,或许有更好的方式来实现而不是要求用户使用assert    
6 Reduce的bug[#9] 现在,我们不能像其它测试代码一样正常生成betterGo/test/reduce/main.go的泛型代码,已知的一个bug是项目目前不支持对参数是lambda表达式的函数调用语句的解析    
7 使用AST来实现replace功能[#10] [#24] 为了做到在生成具体类型的代码之后自动使用指向新函数的调用语句替换原函数的调用语句,目前项目是采用正则表达式搜索并进行replace操作,或许我们可以使用AST中的功能实现replace    
8 对扫描和替换子目录下的代码的支持[#13] 目前,-d 选项只会扫描当前目录下的代码,而不会进入子目录,但-w选项将替换目录及子目录中的所有调用语句,或许可以增加一个-r选项使得扫描和替换同时进行子目录操作    
9 token的局限性[#19] [#20] 由于token支持的类型有限,对于参数的细分支持度不够    
10 修改生成的函数名[#27] 根据参数类型的不同生成不同的函数名    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions