开发实战总结--编程规范

转载 2017年01月03日 10:18:34

1.命名规范: 
从正式开始Android开发工作第一天,主管就教我命名规范,这也从侧面反应命名规范的重要性。良好的命名习惯对今后代码的维护更新起很大作用,提高开发效率。

(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 
(2) 布局文件命名 
规则: 使用前缀_逻辑名称命名,单词全部小写,单词间以 下划线 分割。 
前缀规则: 
Activity对应的布局使用activity_ 有时候类名过长 可简写为aty 
Fragment对应的布局使用fragment_ 简写 fgt 
如:PublishActivity: activity_publish.xml PublishAty 
(3)资源文件命名 
规则: 使用 前缀_用途 命名,单词全部小写,单词间以 下划线 分割。 
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 引入的第三方资源,携带资源简拼的前缀 
(4)类和接口命名 
规则: 使用驼峰规则,首字母必须大写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。 
如:class BookMarkAdd 正确 
如:class AddBookReadPlan 错误! 应为 class BookReadPlanAdd 
(5) 方法的命名 
规则: 使用驼峰规则,首字母必须小写,使用动词。要求简单易懂,富于描述,不允许出现无意义或错误单词。 
如:public void run(); 
如:public String getBookName(); 
(6)变量命名 
规则: 使用驼峰规则,首字母必须小写,使用名词或名词词组。要求简单易懂,富于描述,不允许出现无意义或错误单词。 
成员变量命名,不要在私有变量前添加m字样 
常量命名,全部大写,单词间用下划线隔开

2.编程规范:

这里的编程规范总结的是Android开发中一些常用编程习惯,好的细节,好的习惯也是一个优秀程序员所必备的。

1.Java代码中不要出现中文,最多注释中可以出现中文;代码中不要出现数字,特别是一些标识不同类型的数字,所有意义数字全部抽取到Constant公共类中,避免散布在各位类中;代码任何地方不要拼错单词 
2.Activity.onCreate(),Fragment.onActivityCreated(),作为程序入口,不用写入太多代码,尽量保持只调用initXXX()方法,简单明了展示调用过程。如:initData(),initView()。 
3.方法使用:单个方法体不要过长,拆分臃肿方法,每个方法只作一件事;做同一个逻辑的方法,尽量靠近放到一块,方便查看;调用方法保持“临近原则”,被调用的方法,放在调用方法下方; 
4.空行使用:空行将逻辑相关代码段隔开,简洁清楚,提高可读性。 
空行的使用:拒绝拖沓无分割,关联代码段放一块并与后面代码分割;成员变量之间,根据业务形成分组加空行;方法之间加空行 
5.控制语句:减少条件嵌套,不要超过3层 
if判断使用“卫语句”,减少层级 
if(obj != null) { doSomething();} 
修改为: 
if(obj == null) { return;}doSomething(); 
if语句必须用{}包括起来,即便是只有一句 
6.TODO标记:记录想法,记录功能点,开发过程中可以利用TODO记录一下临时想法或为了不打扰思路留下待完善的说明;删除无用TODO,开发工具自动生成的TODO,或则已经完善的TODO,一定要删除。

3.工具规范: 
开发环境,开发工具,项目框架因公司而异,这里总结下常用的工具以及第三方依赖库: 
IDE 
ADT(已停止更新) 
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 
xutils 
AChartEngine 
Universal-Image-Loader 
UI 
PullToRefresh下拉刷新与上拉加载 
QuickAdapter 
PagerSlidingTabStrip 
SwipeRefreshLayout 
SystemBarTint 状态栏以及导航栏设置背景颜色 
SwipeBackLayout 左滑返回 
PullToZoomView 可以下拉缩放HeaderView 
AutoLoopViewPager 轮播图 
PhotoView 
ViewPageIndicator 
许多好看的UI效果可以去安卓巴士,github上面搜索到,这里就不列举太多了。

以上是根据自己开发以及上网查询整理的资料,持续更新中,一起学习。

Android开发实战总结--编程规范(持续更新中...)

《java并发编程实战》第六章 Executor和ExecutorService总结

接口 Java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实...

《Java并发编程实战》- 个人阅读总结(一)

背景最近想更深入了解下Java多线程相关的知识,对Java多线程有一个全面的认识,所以想找一本Java多线程相关的书籍来阅读,最后我选择了《Java并发编程实战》这本个人认为还算相当不错,至于为什么选...

linux c 编程实战: 文件操作总结(四)

目录操作1.目录的创建和删除 mkdir函数可以进行目录的创建 #include #include int mkdir(const char * pathname, int mode)...

《Java多线程编程实战指南(设计模式篇)》答疑总结(陆续更新)

博客分类: 《Java多线程编程实战指南(设计模式篇)》答疑开展以来,不少网友提出的问题既有与本书有关的话题,也有Java多线程编程基础知识的相关话题。由于时间关系,对于重复的问题我...
  • dotedy
  • dotedy
  • 2015年11月27日 14:03
  • 799

<java并发编程实战>阅读总结(a)

锁(lock)与volatile (1)、隐式锁,java提供了强制原子性的内置锁机制:synchronized块或synchronized方法。 操作共享状态的复合操作必须是原子的,以避免竞态条件,...
  • zgaoq
  • zgaoq
  • 2017年01月24日 17:51
  • 194

LinuxC编程实战第七章学习总结

进程控制Linux进程 1.进程是一个动态的实体,是程序一次执行的过程。进程和程序的区别在于进程是动态的,程序是静态的,进程是运行中的程序,程序是一些保存在硬盘上的可执行代码。 线程是比进...

iOS项目开发实战——iOS网络编程获取网页Html源代码

如今我们身处互联网的时代,任何一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互。一个没有涉及网络编程的应用会显得比较low,这里我们将会开始使用Swift开发iOS应用,并且主要来实现...

微信小程序实战:CMS系统开发-老孟编程

小程序实战:Cms系统开发 讲师:孟老师 微信小程序实战:CMS系统开发 发布地址: http://study.163.com/course/courseMain.htm?courseId=100...

LINUX下的C编程实战(一)――开发平台搭建

1.引言  Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开发实战总结--编程规范
举报原因:
原因补充:

(最多只允许输入30个字)