[干货]Android编程开发规范

在简书里面看到的干货,分享给大家 原文地址 http://www.jianshu.com/p/9b8aeca9b281
约定

Activity.onCreate(),Fragment.onActivityCreated(),作为程序入口,不用写入太多代码,尽量保持只调用initXXX()方法,简单明了展示调用过程。如:initData(),initView()。
单个方法体不要过长
代码任何地方不要拼错单词
杜绝整个类代码格式化
调用方法保持“临近原则”,被调用的方法,放在调用方法下方
统一调整IDE的Tab缩进为4个空格
空行的使用,拒绝拖沓无分割,关联代码段放一块并与后面代码分割
用好TODO标记
    记录想法,记录功能点,开发过程中可以利用TODO记录一下临时想法或为了不打扰思路留下待完善的说明
    删除无用TODO,开发工具自动生成的TODO,或则已经完善的TODO,一定要删除。
处理“魔数”等看不懂的神秘数字
    代码中不要出现数字,特别是一些标识不同类型的数字。
    所有意义数字全部抽取到Constant公共类中,避免散布在各位类中。

命名
1. 布局文件中的id命名

规则:使用驼峰命名,前缀+逻辑名称,类变量名和布局文件id名称保持一致,不需要下划线分割

控件前缀规则:

TextView/EditText: tv/et
Button/RadioButton/ImageButton: btn
ImageView: img
RelativeLayout/LinearLayout/FrameLayout: layout,
ListView: listView
WebView: webView
CheckBox: chBox

如:TextView @+id/tvTitle
如:EditView @+id/etName
如:Button @+id/btnSearch
  1. 布局文件命名

规则: 使用前缀_逻辑名称命名,单词全部小写,单词间以 下划线 分割。

前缀规则:

Activity对应的布局使用activity_  有时候类名过长 可简写为aty

Fragment对应的布局使用fragment_   简写 fgt

如:PublishActivity: activity_publish.xml   PublishAty 
  1. 资源文件命名

规则: 使用 前缀_用途 命名,单词全部小写,单词间以 下划线 分割。

drawable:
    btn_back_selector.xml 控件前缀命名
    common_circle_gray.xml 通用资源多处使用common_
    chat_image_selector.xml 功能相关业务使用加用途前缀

drawable_hdpi:
    btn_back_normal.9.png 控件前缀名称
    btn_back_press.9.png 控件前缀名称
    icon_login_lock.png icon_+用途

values/color:
    pull_refresh_attrs.xml 引入的第三方资源,携带资源简拼的前缀
  1. 类和接口命名

规则: 使用驼峰规则,首字母必须大写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。

如:class BookMarkAdd 正确
如:class AddBookReadPlan 错误! 应为 class BookReadPlanAdd 
  1. 方法的命名

规则: 使用驼峰规则,首字母必须小写,使用动词。要求简单易懂,富于描述,不允许出现无意义或错误单词。

如:public void run();
如:public String getBookName(); 
  1. 变量命名

规则: 使用驼峰规则,首字母必须小写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。

成员变量命名,不要在私有变量前添加m字样
常量命名,全部大写,单词间用下划线隔开

其他

空行:空行将逻辑相关代码段隔开,简洁清楚,提高可读性
    成员变量之间,根据业务形成分组加空行
    方法之间加空行
控制语句
    减少条件嵌套,不要超过3层
    if判断使用“卫语句”,减少层级
    if(obj != null) { doSomething();}
    修改为:
    if(obj == null) { return;}doSomething();
    if语句必须用{}包括起来,即便是只有一句
方法
    拆分臃肿方法,每个方法只作一件事
    做同一个逻辑的方法,尽量靠近放到一块,方便查看
    不要使用 try catch 处理业务逻辑
    使用JSON工具类,不要手动解析和拼装数据
Activity继承BaseFragmentActivity或SwipeBackActivity,可以使用ButterKnife注解代替findViewById。

IDE

Android Studio (越早使用越好)
Android SDK 4.4W (API 20 统一开发版本)
JDK 1.8(统一开发版本)

Libraries

Base

fastjson-android-1.2.4.jar
okhttp-2.2.0.jar
okio-1.2.0.jar
picasso-2.5.0.jar
butterknife:7.0.1
ormlite-android:4.48
volley

UI

PullToRefresh
QuickAdapter
PagerSlidingTabStrip
SystemBarTint 状态栏以及导航栏设置背景颜色
SwipeBackLayout 左滑返回
PullToZoomView 可以下拉缩放HeaderView
AutoLoopViewPager 轮播图
PhotoView
ViewPageIndicator
SAP SM30数据维护实战:条件筛选与动态校验的实现技巧 本文详细介绍了SAP SM30数据维护的实战技巧,重点讲解如何通过条件筛选实现精准数据查取,以及利用表维护生成器事件实现动态数据检查与校验。文章提供了从基础视图创建到高级事件编程的完整流程,包括调用函数VIEW_MAINTENANCE_CALL传递筛选条件,以及在NEW_DATA和CHANGE_SAVE事件中编写业务规则校验逻辑,帮助开发者提升SM30的管控能力与数据质量。 阅读详情

相关推荐

Applied Energy期刊小白论文投稿模板-流程经验分享

Applied Energy期刊小白论文投稿模板-流程经验分享,Elsevier期刊(爱思唯尔)投稿流程

zzu_Flyer的博客 4万+

Android编程开发基本规范和原则

Android编程开发基本规范和原则一,代码的命名,遵循必要的Java和Android规范。 沿用标准Java和Android的命名规则,使得代码足够简单易读。1,对于一般的Java类,命名如JavaClass.java代码文件,不要写成Javaclass这样。2,对于函数的名字,沿用Java驼峰式命名规则。3,对于基本的变量名字,可用Android的方式:m+类名,如一个TextView,那么定

Zhang Phil 913

100G SR4 光模块设计

目前100G SR4 光模块主要采用COB 封装技术,在光电芯片键合(bonding)阶段,首先使用银胶将光芯片、电芯片精准固定在电路板规定位置上,该工序即为元件键合(die bonding);然后采用打线机进行金线键合(wire bonding),完成光模块内部的电气连接。在光路耦合阶段,采用8路阵列透镜组完成光路90°弯折及聚焦,并采用有源耦合的工艺进行光路的最终确认,该设计方案工艺简单、高效,借助全自动贴片机、打线机和耦合台就可实现100G SR4 光模块的大批量生产。

Flyin_Group的博客 1376

Android编程开发规范

转载出处:http://www.jianshu.com/p/9b8aeca9b281 约定 Activity.onCreate(),Fragment.onActivityCreated(),作为程序入口,不用写入太多代码,尽量保持只调用initXXX()方法,简单明了展示调用过程。如:initData(),initView()。单个方法体不要过长代码任何地方不要拼错单词杜绝整个类代

KC857548321的博客 344

STM32 SPI驱动TFT LCD实战:时序配置与硬件协同

SPI(串行外设接口)是一种高速、全双工、同步串行通信协议,广泛应用于微控制器与显示模组等外设的数据交互。其核心依赖时钟极性(CPOL)与时钟相位(CPHA)组合定义的四种工作模式,直接影响数据采样可靠性;而片选(NSS)与MOSI/SCLK等信号的硬件映射,则决定了多设备共总线下的通信稳定性。在TFT LCD驱动场景中,SPI凭借低开销、高吞吐优势成为主流选择,尤其适配ST7789、ILI9341等集成显示控制器的模块。本文聚焦STM32L系列MCU通过SPI2驱动1.3寸LCD的完整链路,涵盖Mode

php55的博客 1211

kubedns-coredns部署pod出现not ready问题

文章目录遇到的问题1、发现问题2、排查问题3、解决方法 coredns的实例health_check不通过的问题,排查和解决方法 遇到的问题 1、发现问题 pod启动但是未ready 查看是readiness失败 使用对应的URL进行curl,发现真的返回503 2、排查问题 查看错误日志,发现一堆这个错误"waiting on : kubernetes" 网上相关的问题解答 这个跟测试场景不一样,这个案例是开了防火墙,可以确认我这个案例的机器没有开防火墙,但它提醒了一点,coredns是需要访问ap

u012533481的博客 2844

Android开发规范:代码规范(CheckStyle、Reformat Code)

文章目录checkstyle: plugin 开发APP的过程中,每个团队都会约定自己的代码规范。但是往往在实践过程中,要么由于开发周期紧张,大家没有按照规范进行,而是按照自己的编程习惯来开发;要么是新入职的员工,或者从别的项目组借调过来的员工,不熟悉我们的开发规范。所以有必要用一些强制手段来规范我们设定的代码规范。 因此我们引入checkstyle来约束代码规范。 checkstyle有两种使用...

尼古拉斯的AI笔记 1113

初探Proxmox Datacenter Manager:统一管理多集群与单节点的利器

本文介绍了Proxmox Datacenter Manager (PDM) 这一统一管理工具,它能有效解决多套Proxmox VE环境(包括集群和单节点)管理碎片化的痛点。文章详细阐述了PDM的核心功能、安装部署步骤,并通过实战演示了如何添加单节点与整个集群,实现资源的集中监控与基础运维,为运维人员提供了高效的集中管理解决方案。

weixin_29217235的博客 163

Android编程的写法规范

一、获取View对象 1.private EditText m_txtSmsPhone = null;//定义一个EditText控件的调用对象 m_表示为View对象 txt表示文本框 2.在protected void onCreate(Bundle savedInstanceState) { 加入 findViews(); } 3.private void findView...

weixin_34293911的博客 191

SIwave仿真手册——软件基础(一)

最近在学习SIWAVE,在这里将自己的笔记整理一下,做一个专题。希望对大家有帮助,这个会持续更新的。仅限于软件操作学习,不涉及信号完整性的讨论。

luohuo9844的博客 4万+

ReAct 智能体 Agent:架构解析与实践拓展

ReAct 智能体 Agent 凭借其推理与行动协同的独特架构,在众多人工智能应用场景中展现出巨大的潜力。从智能办公到教育辅导,从智能家居到工业物联网,ReAct 智能体通过精准推理和高效行动,为用户提供了更加智能、便捷的服务体验。然而,在实际应用过程中,仍面临工具调用安全、模型持续学习、多智能体协作管理以及性能优化等多方面的挑战。通过合理的策略和技术创新,如强化工具审核机制、构建持续学习框架、设计高效协作协议和采用性能优化手段,我们有望逐步克服这些挑战,进一步提升 ReAct 智能体的性能和可靠性。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1688

Android架构经验及开发规范

相关阅读: 吊炸天!74款APP完整源码! [干货]2017已来,最全面试总结——这些Android面试题你一定需要 Android常用开源框架的源码解读套路--教你怎么读开源框架源码 公众号:Java和Android架构 关注回复:Android,iOS,PHP,js,HTML5,Python,Hadoop,c++

AMEPRE88的博客 663

飞牛fnNAS同步微信微信聊天记录

微信聊天记录如何备份到NAS?本文介绍了利用NAS虚拟机和同步工具实现微信记录自动备份的方法。通过在NAS上搭建"云电脑"长期运行微信PC端,并配置微力同步将聊天记录文件夹自动同步到NAS存储,解决了传统电脑备份的安全性问题。操作步骤包括:1)在NAS上安装虚拟机系统;2)登录微信PC端并同步手机记录;3)配置同步工具将微信记录文件夹同步到NAS。该方法尤其适合不常使用PC微信的用户,可实现记录永久保存和远程查看,更换手机时也能快速恢复历史记录。

dgnankai的专栏 4314

Android开发规范:CodeReview规范,2024年最新android开发网络编程

【Android开发核心知识点笔记】【Android思维脑图(技能树)】【Android核心高级技术PDF文档,BAT大厂面试真题解析】【Android高级架构视频学习资源】一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!一个人可以走的很快,但一群人才能走的更远。

2401_84023604的博客 698

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

android开发规范阿里,Android外包是如何转正网易的

总而言之,成功是留给准备好的人的。无论是参加什么面试,都要做好充足的准备,注意好面试的礼仪和穿着,向面试官表现出自己的热忱与真诚就好。即使最后没有过关,也要做好经验的总结,为下一次面试做好充足准备。这里我为大家准备了一些我在面试后整理的面试专题资料,除了面试题,还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料分享给大家,希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

2401_84408337的博客 532

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

干货来袭!可能是全网最细的Android-资源加载机制剖析,Android岗

不是安卓不行了,是你跟不上了 我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍。我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大把。企业招人的眼光也越来越高,如果你没点“真东西”,是真的挺难的。 前几天和一位 Android 前辈聊天,他说面试中很多工程师,对特别基础的问题都停留在“使用过”或者“听说过”。没有深入到技术细节里,在竞争激烈的市场中就只能被淘汰。 下面这些,是他提到的几个问题,你能快速回答上么? SoftReferenc

clhcowboy的博客 198

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

2024下半年掘金日报优质文章合集:Android篇

这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容除了这份笔记,还给大家分享Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~

2401_84123113的博客 922

2017下半年掘金日报优质文章合集:Android篇,靠着这份190页的面试资料

在掘金微信群里的小伙伴应该都有看每日小报吧!这是小饼每天为大家精选的优质掘金文章(大家都很爱学习,我已经跟不上了QAQ…)小饼已经被N位群友连续几周催着出小报合集了,2017年马上就要结束了,拖延症绝不拖到明年!这就给大家整理出来——掘金2017下半年优质小报合集。) 性能优化 React Native拆包及热更新方案 有效减少 Android 应用的方法数 Android端应用秒开优化体验 Android性能优化-网络优化 Android自定义View——从零开始实现书籍翻页效果(.

wqwq_22的博客 1919

2017下半年掘金日报优质文章合集:Android篇

在掘金微信群里的小伙伴应该都有看每日小报吧!这是小饼每天为大家精选的优质掘金文章(大家都很爱学习,我已经跟不上了QAQ..)小饼已经被N位群友连续几周催着出小报合集了,2017年马上就要结束了,拖延症绝不拖到明年!这就给大家整理出来——掘金2017下半年优质小报合集。) 性能优化 React Native拆包及热更新方案 有效减少 Android 应用的方法数 Android端应用...

weixin_33827731的博客 456

Android开发必须掌握!字节大神强推千页PDF学习笔记,灵魂拷问

前言 最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面试只不过是一种验证而已(注意,是验证,而不是走过场),除非你面试过程中犯错误,或者你不想来,否则,那个offer一定是可以拿下的。 我是一名Android程序员,作为一名在大厂待过,有多年Android经验的老安卓,在这里,我有话想说。 大家都知道,学历是一块很好用的敲门砖,但是,也只是敲门砖而已,学历并不能代表一切。 现在很多大学生对学业并不

m0_56228922的博客 130

Android开发必备:语言与国家代码清单详解与实战应用

在移动应用开发中,国际化与本地化是构建全球化产品的核心技术。其核心原理在于通过标准化的语言代码(如ISO 639)和地区代码(如ISO 3166-1),精准匹配用户设备区域设置,从而动态加载对应的文本、货币、日期等资源。这项技术的价值在于能显著提升应用在不同市场的用户体验与接受度,是电商、社交、工具等出海应用的基石。具体到Android平台,开发者通过正确配置`res/values-zh-CN`这类资源目录,并在代码中使用`Locale`对象,即可实现多语言适配与区域化功能。本文将围绕**Android语言

weixin_33985679的博客 426

GankDaily开源项目贡献指南:如何参与代码优化与功能开发

GankDaily是一款每日提供技术干货的Android应用,采用MVP架构模式,帮助开发者获取Android、iOS等领域的精选内容。本指南将详细介绍如何参与该开源项目的代码优化与功能开发,为新手和普通用户提供清晰的贡献路径。 ## 项目简介:了解GankDaily的核心价值 GankDaily的所有数据来源于[干货集中营](http://gank.io/),专注于技术内容的呈现与用户体验的

gitblog_01126的博客 690
上一篇: Google的Java编程风格指南(Java编码规范)
下一篇: 深入理解Android View(二)
coley-wu
博客等级 码龄12年 859粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值