个人的一些java命名心得

java的类、变量、方法的起名是一项很重要的事情。良好的命名能做到见名知义、名称具有B格和美感的效果。下面分享下个人的一些java命名心得。(仅代表个人)

  1. 来自spring,mybatis,JDK源代码中的一些名称后缀。比如Aware,Processor,Loader,Listener,Interceptor,Enhance,Container,Context,Resolver,Customizer,Wrapper,Converter,Register,Executor,Handler,Filter,endpoint
    一般起名以XXX加上这些后缀的形式出现。一般出现在高层次代码中,作一些框架整合和扩展方面的事项。

  2. 来自设计模式中的一些通用叫法,比如:Builder,Adaptor,Factory,Bridge,Facade,Template,Command,Iterator,Chain,Visitor,Strategy
    也是以这些后缀的形式出现,出现在高层次代码中或普通业务代码中,用来作扩展或处理一些脆性代码的类。

  3. 个人的一些偏好用来命名,以本人为例:
    EarthShaker:撼地神牛,特点–>控制多,用来命名数据权限的相关类。
    WindRunner:风行者,特点–>全能型,用来命名通用的一些组件。
    Rubick:拉比克,特点–>很多很多技能,用来命名一些通用的,综合性的组件类。
    Bee:小蜜蜂,特点–>勤快,用来命名一些小而美的小工具。
    Summoner:召唤师,特点–>召唤不同宠物和技能,用来命名第三方接口调用。
    xxx2xxx:2–>to,把xxx转换成xxx

    其他的可以是自已喜欢的小动物,二次元等。这点是参考许多框架的命名。总得有点自已的个性吧。哈哈。

  4. 常见的一些通用命名,比如:
    Utils,Helper,Generator,BaseXXX,Constant,Pattern
    这个就没啥好说的了。

  5. 恶趣味起名
    doIfBossNecessary(),
    youCanYouUp();
    dogSunOf();
    这个就比较无聊了。加班加多了的产物。

  6. 有道词典命名
    个人的有道起名经验:
    单词要好看,
    1.比如:theme(主题,分类), View(视角,视图),logic(逻辑),dynamic(动态),variable(属性,变量集),contaner(容器),context(上下文)等。
    2.基本见名知义,单词不一定十分精准,能准确表单意思就行
    3.方法命名尽量体现使用场景,如作判断、处理事项、封装对象、构建对象、转换、处理逻辑、计算等。
    如toCheckXXX,toVerifyXXX doXXX,buildXXX,exchangeXXX,handleXXX,findXXX,enhanceXXX,wrapperXXX等。
    4.命名尽量不要带有一些缩写的表前缀,很丑
    5.单词个数不宜过多
    6.尽量避开重名的情况,常见的后果就是SpringBean的命名冲突。
    7.严格遵循坨峰、下划线,大小写的使用场合。
    8.不要带有拼音,英文缩写、拼音缩写等很low的玩意。
    9.类名较长量,成员变量或局部变量命名可取全类名的某一个或某两个关键词。可不取全名。
    10.能用全单词的尽量用全单词,不要嫌长掐头去尾。
    11.后缀一定要清晰的表单出某一类型的类。比如XXXRequest,XXXUtils,XXXDetail,这里不是很推荐使用Vo,Po,Pojo,Entity等作法。初心往往比不过人心人变化。后期代码会无限混用。根本分不清,还不如用XXXRequest接收参数,XXXDetail表示详情,XXXList,XXXSet表示集合来得效果好。
    12.尽量避免大量的类用前面一大截相同,只有后面个把单词不同。否则整个模块的controller,service,封装类代码全是XxxXxx开头的,眼睛都看花。
    13.避免一些较泛的名字。就是说指代性不强的类名或变量。比如DataModule,BusinessData,DataJoin。One,Two,Three
    14.依经验,全类名或方法名避开三个字母以内的单个词直接命名。
    15.区分名词,动词,形容词等词性,区分复数,单数形式,集合变量带s。
    16.工程命名、模块命名、git分支命名、maven坐标命名、数据库命名等全局性命名严格遵守公司标准约定,不然会死得很惨。

你可能感兴趣的:(java)