代码风格
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提供了默认的代码风格。
语言 | namespace | type | method | property | field | enumItem |
---|---|---|---|---|---|---|
none | none | none | none | none | none | none |
c# | pascal | pascal | pascal | pascal | camel | none |
java | pascal | pascal | pascal | camel | camel | none |
go | snake | pascal | camel | camel | pascal | none |
lua | snake | pascal | camel | camel | snake | none |
typescript | pascal | pascal | camel | camel | camel | none |
c++ | snake | pascal | pascal | pascal | camel | none |
python | snake | pascal | snake | snake | snake | none |
如果不在这些语言列表,则取none代码风格,即使用原样名字。
相关命令行参数
具体参数介绍请见命令行工具。
参数 | 描述 |
---|---|
codeStyle | |
namingConvention.{codeTarget}.{location} | 此参数为层级选项,如果不指定{codeTarget}则对所有code target生效 |