跳到主要内容
版本:Next

代码风格

Luban默认为某个语言生成符合该语言推荐风格的代码,但有时候开发者想控制生成的代码风格,Luban 对此有较完善的支持。

命名风格

Luban内建了以下几种命名风格:

风格名描述示例
none保持原样aa_bb_cc => aa_bb_cc
camel先按'_'分割原始名,获得原子名列表,再使用Camel风格拼成最终名aa_bb_cc => aaBbCc
pascal先按'_'分割原始名,获得原子名列表,再使用Pascal风格拼成最终名aa_bb_cc => AaBbCc
upper直接将原始名全大写aa_bb_cc => AA_BB_CC
snake下划线风格,等同于none风格aa_bb_cc => aa_bb_cc

命名位置

Luban中可以控制以下几个位置的命名风格:

位置描述
namespace命名空间
type类型,包括enum、bean、table及manager的类型名
method函数,bean、table及manager中出现的函数名
property属性,主要指bean、table中出现的属性名。不是所有语言都支持属性的概念,如c++
field字段,bean中的字段名
enumItem枚举项名,如AccessFlags枚举中的WRITE、READ

代码风格

代码风格提供了一组命名风格的配置,指示了每个命名位置所用的命名风格。对于常见语言,Luban提供了默认的代码风格。

语言namespacetypemethodpropertyfieldenumItem
nonenonenonenonenonenonenone
c#pascalpascalpascalpascalcamelnone
javapascalpascalpascalcamelcamelnone
gosnakepascalcamelcamelpascalnone
luasnakepascalcamelcamelsnakenone
typescriptpascalpascalcamelcamelcamelnone
c++snakepascalpascalpascalcamelnone
pythonsnakepascalsnakesnakesnakenone

如果不在这些语言列表,则取none代码风格,即使用原样名字。

相关命令行参数

具体参数介绍请见命令行工具

参数描述
codeStyle
namingConvention.{codeTarget}.{location}此参数为层级选项,如果不指定{codeTarget}则对所有code target生效