朋友,可以知道你的命名习惯吗?


title: 朋友,可以知道你的命名习惯吗?
tags:

邀请你给一个按钮命名

每个 coder 都有自己的编码习惯,举个小例子:

你会给一个登录按钮的控件ID,怎么命名?

  • btnLogin
  • btLogin
  • btn_login
  • loginButton
  • loginBtn
  • denglu
  • 等等

我的习惯是 btnLogin,你是哪种 style 呢?

标准很重要

开发公司的一个老项目时,项目迭代历史悠久,从命名风格中可以看到不少开发人员的痕迹,一个类文件中,各类命名,简直逼死强迫症,相信很多老项目都有这种历史遗留问题。当然,此刻同样是在创造以后的历史,小团队,就算职位只配备一个开发人员,可以避免这些问题,当有多个开发人员合作开发时,统一开发规范很重要,否则这个问题会一直继续。

那问题就来了,如何制定一个标准?并且这个标准需要被整个团队认可,才能开心地执行下去。

想要说服别人放弃自己的风格,接受自己的命名风格,是有一定难度的事情。例如我喜欢 btnLogin,我的搭档喜欢 loginBtn,我说,你的命名不好,要按我的来,十有八九会被怼回来。那这么问题怎么解决呢,有两个方案:

  • 和搭档深入沟通,制定一个规范。
  • 找一个目前流行的编码规范。

推荐一个规范手册

如果你选择方案二,我想为你推荐一个很权威的编码规范:《阿里巴巴Java开发手册》。这个开发手册是阿里巴巴出品,品质值得信赖,接受和认可度很高,无论是现在还是以后的开发人员,都很容易被认可。同时,最重要的是,为了更好的检测规范的执行,后继还推出了代码规约的插件,Android Studio 可以搜索安装插件 Alibaba Java Coding Guidelines 。

手册中针对规范,做了强制和推荐的等级划分,并且例举出正例和反例,非常清晰明了。

在这里插入图片描述

手册内容简洁易懂,一个小时内能看完,开发中配合插件使用,体验超棒!插件有两种检测模式,实时检测和手动检测。前者在开发过程中随时提醒我们注意规范,后者适用于在排查项目的整体规范执行。

针对违反规约行为会有不同的提示,强制级别会爆红,推荐级别会警告,提供详细的修改说明,帮助正确规范代码。

这个是一个强制规范:
在这里插入图片描述

这个是一个推荐规范:

这里写图片描述

这是手动检测结果:

在这里插入图片描述

部分错误提供了 QuickFix 功能,支持一键修复(上图右上角的小灯泡提示就是),十分贴心有没有?!

现在永远也不晚

《阿里巴巴Java开发手册》手册正式向外发布为 2017.2.9 ,IDE 代码规约检测插件开源时间为 2017.9.25 。现在是 2018.7.25,非常迟到的尝试。但现在永远不会晚,努力变的更好吧。

无规矩不成方圆,无规范不能协作。还没有形成自己规范的小伙伴们,可以尝试起来啦!

朋友们,下篇文章见!

PS:微信公众号后台回复「代码规范」,可以获取一份《阿里巴巴Java开发手册》哈。


欢迎关注个人微信公众号「浅浅同学的开发笔记」,最新的博客,好玩的事情,都会在上面分享,期待与你共同成长。

在这里插入图片描述

在Protocol Buffers (Protobuf) 中,命名空间用于组织相关的消息类型、服务等元素,防止它们之间的名称冲突。当遇到命名空间冲突时,你可以按照以下几种方式进行处理: 1. **明确限定**: 在使用类型时,通过完整的路径指定命名空间,如 `my_project.package_one.MessageType`,这样可以明确指出你要的是哪个命名空间内的类型,避免混淆。 2. **别名(alias)**: 使用`google.protobuf.message`这样的别名来代替全名,特别是在跨多个命名空间引用时,这可以使代码更简洁。但是,全局范围内的别名可能会导致隐式依赖,增加维护难度。 3. **分包设计**:合理地规划你的项目结构,把命名空间分布在不同的包里,这样可以在每个包内部管理冲突,减少冲突的概率。 4. **版本控制**: 对于大型项目,如果有必要,可以考虑创建不同的版本或分支,每个分支有自己独立的命名空间,避免直接冲突。 5. **代码重构**: 如果命名空间冲突是由项目设计不当引起的,可能需要重新考虑数据模型的设计,将相关性强的实体放到同一个命名空间内。 6. **配置文件**: 使用`.proto` 文件中定义的`option java_multiple_files = true;` 或者 `option csharp_namespace = "";`等选项,让Protobuf工具分别生成不同命名空间的单独头文件,以分散命名空间冲突。 尽管Protobuf提供了上述解决方案,最好的实践还是保持良好的命名习惯,避免不必要的命名空间冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值