代码可读性艺术在Andorid中的体现

这篇具有很好参考价值的文章主要介绍了代码可读性艺术在Andorid中的体现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 前言

最近接手的一些项目,不同的人编码风格迥异,类里的变量、方法的定义穿插,注释极为稀少,更有一些变量和方法的命名非常近似,例如表示播放队列的"playQueue"和表示歌单的"playList",wtf?

这不是一个意思吗?一些回调的时机也不能直观的看出来,通常需要debug调试多次;multi project之间值的传递、广播跨进程的发送、服务的开启和绑定,一句注释都没有,不知道过了这么久,

这些代码的同事,还能很快看懂自己写的东西吗?这简直让人抓狂啊,于是乎,写下此篇博客,吐槽别人的同时,更要引以为鉴,通过一些实际而有效的方法让自己代码更具可读性.

  • 代码中行而有效的几点
  1. 放置常量与变量的排位顺序
    • 第一层放置顺序的规则:
      常量->变量->接口->内部类.
    • 第二层,各个类型内部又区分为:
      静态static->非静态
    • 第三层,最后的一个排位规则:访问权限
      private私有->包访问(前无修饰符)->protected->public

依据这个规则,总结如下: 类中定义变量的先后顺序

                private static final int->String 私有常量String型

                static final int->String 包与protected常访问权限常量

                public static final int->String公共常量

                private static int->String 私有静态变量

                static int->String 包与protected常访问权限静态变量

                public static int->String公共静态变量

                private int->Stirng;普通私有变量

                protect子类访问权限->public int&String 普通公共变量

                接口:private static ->普通接口

                内部类:private static ->普通内部类

  2.常量&变量命令规则  

  • 以**static fina**l修饰的常量字母全都为大写,单词之间用_下划线隔开,如RESULT_CANCELED。
  • 静态变量前用小写字母”s”表示,后接单词的首字母大写,如sActivity
  • 除静态变量的其它所有变量前都用小写字母”m”表示,后接单词的首字母大写,如 private Window mWindow
  • 一般都是用类名前加”s”或者”m”来命名一个类对象变量

  3.方法命名规则  

  • 采用小驼峰命名法,首单词小写,第二个单词首字母大写,如getActivityToken()
  • 方法名的第一个字母一般都为动词
  • 常用的get,set来表示取得与设置;save保存
  • on用以当什么发生的时候,生命周期都是以on开头;
  • requse**t请求,如请求权限;**add添加;enter进入
  • open开启对话框之类;close关闭;cancle取消;show显示,dismiss隐藏
  • start启动如activity;stop停止如stop service;init初始化
  • 如果方法的返回值为boolean,一般命令为isMn()或者hasMn()
  • 其它boolean值的返回动词有should,can

  4.MultiProject中注明跳转到哪里

  一般地,Andorid中界面的跳转、广播的发送、服务的开始和绑定,都是与Intent意图相关;Intent又分为显示意图和隐式意图,显示意图需显示的设置好当前类要跳转到哪个包名下的那个类(这种跳转通常都不是

跨进程的),而一些进程间的跳转,系统服务的开启都是需要隐式跳转的,隐式跳转是根据要跳转类中定义的action和跳转到组件的action(清单文件中定义的节点信息)是否一致;通常你并不知道需要跳转到哪里;

因此,有两点是需要注意的:①action尽量定义得与跳转目标类相关,且是唯一的②要求加上明确的注释信息,跳转到的包名、类名、用途

  5.代码中一些暂时的解决办法需注明TODO注释

  IDE工具一般对TODO注释功能有很好的支持,可以显示和定位所有注释中出现的TODO关键字;往往一些不靠谱的解决办法或途径都是导致某个bug的隐藏因素;提前注明此为临时的解决办法,可能导致什么后果,计划后面什么时候再修,可以给后期维护和调试带来很大的便利,这一点其实及其重要,因此决定单独拿出来写一下

  • 小结

  暂时想到的就是这些了,后面遇到更坑,更让我头疼的代码,再来补充...附上找到的 常见控件缩写和常用英文单词的缩写规范表

  

附录:

表1 UI控件缩写表

控件 缩写 例子
LinearLayout ll llFriend或者mFriendLL
RelativeLayout rl rlMessage或mMessageRL
FrameLayout fl flCart或mCartFL
TableLayout tl tlTab或mTabTL
Button btn btnHome或mHomeBtn
ImageButton ibtn btnPlay或mPlayIBtn
TextView tv tvName或mNameTV
EditText et etName或mNameET
ListView lv lvCart或mCartLV
ImageView iv ivHead或mHeadIV
GridView gv gvPhoto或mPhotoGV

表2 常见的英文单词缩写:

名称 缩写
icon ic (主要用在app的图标)
color cl(主要用于颜色值)
divider di(主要用于分隔线,不仅包括Listview中的divider,还包括普通布局中的线)
selector sl(主要用于某一view多种状态,不仅包括Listview中的selector,还包括按钮的selector)
average avg
background bg(主要用于布局和子布局的背景)
buffer buf
control ctrl
delete del
document doc
error err
escape esc
increment inc
infomation info
initial init
image img
Internationalization I18N
length len
library lib
message msg
password pwd
position pos
server srv
string str
temp tmp
window wnd(win)

注:程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。文章来源地址https://www.toymoban.com/news/detail-438320.html

到了这里,关于代码可读性艺术在Andorid中的体现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 提高代码可读性和可维护性的命名建议

    当进行接口自动化测试时,良好的命名可以提高代码的可读性和可维护性。以下是一些常用的命名建议: 变量和函数命名: 使用具有描述性的名称,清晰地表达变量或函数的用途和含义。 使用小写字母和下划线来分隔单词,例如  login_url 、 send_request 。 避免使用单个字符或

    2024年02月10日
    浏览(45)
  • 50个简洁的提示提高代码可读性和效率(0-10)

    这篇文章整理了50个简洁的提示,可以提高您的代码可读性和效率。这些提示来自个人项目、彻底的代码审查和与资深开发人员的启发性讨论。 无论您是新手还是经验丰富的开发人员,这篇文章都应该能够帮助您学到一些东西。 这个列表包括常见的Python模式、核心概念和最佳

    2024年02月10日
    浏览(45)
  • 编写魅力十足的代码:优化可读性、维护性和性能的关键

    本篇汇总了平时在工作开发中常遇到的业务逻辑的优雅写法,也汇总了自己还是新人时,拿到一个业务不知道怎么下手的痛点,依稀记得那时候总感觉自己写的代码不规范。 写完之后,感觉还是美好的,又学到东西了。 采用简洁的语法和结构,遵循一致的命名规范,具有良

    2024年02月10日
    浏览(55)
  • 炫技亮点 使用Optional类优化代码,提升可读性和简化空值处理

    在日常的软件开发中,我们经常需要处理可能为空的值,例如 从数据库查询数据 、 调用外部接口获取数据 、 从配置文件读取配置项 等。传统的处理方式往往需要使用 繁琐的空值判断和异常处理 代码,使得代码变得冗长和难以理解。为了解决这个问题,Java 8 引入了 Optio

    2024年02月13日
    浏览(50)
  • 如何修改min.js或者压缩后的js,以便提高代码的可读性。

    前端的js上线的时候一般会使用打包工具处理(webpack,gulp,ugly.js 等)。这样做有几点作用。 可以压缩空间,提高页面响应速度 一定程度上可以保护自己的代码安全,防止别人清晰看懂逻辑或者拷贝代码。 提高别人阅读自己代码的门槛 可前端开发工作中多多少少,会需要看

    2024年02月11日
    浏览(42)
  • chatgpt赋能python:Python如何分行——提高代码可读性和效率的必备技能

    分行,即将一行长代码分为多行,使得代码更加易读、易维护、易修改。 Python作为一门高级编程语言,具有简洁、易读、高效的特点。但在实际编程过程中,难免会遇到较长的代码行,导致代码可读性下降,不利于程序员的开发和维护。因此,Python中分行技术就显得尤为重要

    2024年02月08日
    浏览(43)
  • 【Spring MVC】获取 @RequsetBody 标识的对象,使用适配器模式增加代码可读性

    一个技术需求引发的思考和实践: 思考 用 AOP 把校验代码 实践 用 Spring MVC 的 RequestBodyAdvice 做AOP逻辑 继承 RequestBodyAdviceAdapter 实现自己的 适配器 用自己的适配器让代码可读性增加 熟悉 Spring MVC 、Java 反射的一些实践 本文内容 澄清一个AOP校验JSON内容的思路 复习适配器模式

    2024年02月10日
    浏览(41)
  • chatgpt赋能python:Python分组:组织你的代码,提升可读性和可维护性

    在编写代码时,组织良好的代码结构和架构是非常重要的。对于大规模的项目,特别是多人合作开发的项目来说,代码管理和组织是至关重要的。Python 分组是一种常用的技术,可以帮助我们组织代码并提高代码的可读性和可维护性。 Python 分组指的是将一段代码按照一定的逻

    2024年02月06日
    浏览(49)
  • 编程界的“魔术师”:Python中的一行代码艺术

    标题: “成为编程界的“魔术师”:Python中的一行代码艺术” 编程的世界中,有一种被称为“一行代码魔术师”的存在。他们擅长用简洁、精炼的代码实现复杂的功能,就像变魔术一样令人惊叹。 Python作为一种高级编程语言,其简洁明了的语法使得它成为“一行代码魔术师

    2024年02月03日
    浏览(43)
  • 【Python】【编程技巧】给切片命名,使代码清晰可读

    使用内置的 slice 函数创建切片,而不是硬编码下标,从而增强代码可读性,例如: https://python3-cookbook.readthedocs.io/zh_CN/latest/c01/p11_naming_slice.html

    2024年02月10日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包