命名规则

变量名:
1)尽量要取有意义的名字,比方说:一个用户名的成员变量。应该写成username。而不要仅仅写个string;
2)假设是常量。既在编码过程中。这个值是不会改变的,应该写成大写的名字。如:USER_AGE,也能够是User_Age,这里须要强调的是,假设是多个单词组成的。须要在每一个单词以下加一个下划线进行区分,整个命名是这种:static final int USER_AGE = 25。

方法名:
相同的,和变量名命名一样,方法名也要取有意义的名字,尽管你能看得懂,可是换一个人看可能就看不明确是什么意思了,比方:要写一个更新名字的方法,应该写成功updateUserName。而不是随便就取一个名字。

方法名第一个字母必须是小写的,随后跟着的单词第一个字母为大写。

类名:
第一个字母必须是大写的,如:AddUserActivity,事实上跟方法名几乎相同。仅仅只是是每一个单词的首个字母必须是大写的。

Android控件的命名:
<Button
      android:id="@+id/update_username"
  .../> 
or
<Button
      android:id="@+id/updateUserName"
  .../> 

个人建议第一种方式

然后在activity或者fragment中初始化控件的时候尽量和xml文件里写的名字一致,这样easy管理。

layout文件名称:
一般来说都是以activity开头的,如:activity_add_user.xml
or
假设是使用了fragment的话能够使用fragment开头,如:fragment_add_user.xml

adapter相应的xml文件,取名为:row_user.xml

凝视

每一个类名都要加上凝视,解释这个类的作用或者类的介绍。
建议每一个方法名上面都要加上凝视。比方:
/**
*
* 加入用户
*
*/
private void addUser(){...}

编码规则

1)在主线程中不要处理复杂的运算和逻辑,比方从server中获取图片。更新界面等等,应该使用异步来获取数据,另取一个子线程进行工作。再更新到界面上去,防止出现ANR。
2)不要一味使用if...else...,这样会使程序臃肿并且执行效率较低,能够换一个方式取代if...else...;
3)初始化控件的代码,不要所有放在oncreate方法里面,这种代码不美观并且不易于改动,能够另外创建一个方法进行初始化控件,然后在oncreate中调用就OK了。
4)在Adapter要使用ViewHolder,节省资源,不然非常easy出现ANR的;
5)一些常量能够写在同一个类中进行管理,降低反复代码的编写;
6)假设你创建的String是要改变它的值的,建议使用StringBuilder,假设是不用改变的。应该声明为静态final的常量;
7)巧用switch语句;
8)图片异步载入能够使用ImageLoader。或者有更好的能够介绍一下。图片下载来之后能够保存在缓存里,下次读的时候就不用再从server获取,直接读取缓存就能够了,这样能够减轻server的压力和获取的速度会更快;

当然另一些优化list。优化Android性能。优化Android UI的,这些都是作为Android从业人员必需要掌握的。假设还有人不明确的我再一一进行介绍。

还有其它的我想到了再进行更新。

技术总结--android篇(三)--代码规格和编码规范的更多相关文章

  1. 菜鸟笔记 -- Chapter 4.7 代码注释与编码规范

    4.7 代码注释与编码规范 在程序代码中适当的添加注释可以提高程序的可读性和可维护性.好的编码规范可以使程序更易阅读和理解.下面我们将介绍几种代码注释,以及应该注意的编码规范. 4.7.1 代码注释 ...

  2. 技术总结--android篇(四)--工具类总结

    StringUtil(视个人须要进行加入) public class StringUtil { public static boolean isMail(String string) { if (nu ...

  3. 技术总结--android篇(一)--MVC模式

    先介绍下MVC模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显 ...

  4. 测试需要了解的技术之基础篇三__持续集成持续交付DevOps

    持续集成.持续交付.DevOps 1.容器技术Docker:容器技术介绍.Docker安装与加速配置.Docker基础命令.Docker搭建selenium.Docker搭建持续集成平台Jenkins ...

  5. python篇第3天【编码规范】

    第二天加班去了! 语法约定: 多行语句 Python语句中一般以新行作为为语句的结束符. 但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示: total = item_one + \ i ...

  6. 使用 PHP_CodeSniffer 检查 代码 是否 符合 编码规范

    服务端部署:PHP_CodeSniffer HG 服务端部署篇 1.下载PHP_CodeSniffer 前往 https://github.com/squizlabs/PHP_CodeSniffer ...

  7. Android面试、开发之高手 编码规范与细节

    凝视 [规则1]必须用 javadoc 来为类生成文档.不仅由于它是标准.这也是被各种java 编译器都认可的方法. [规则2]在文件的開始部分应该有文件的说明信息,应包括例如以下信息: (1)版权信 ...

  8. JAVA_SE基础——编码规范&代码编写规则

    这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...

  9. 【转】Android LCD(三):Samsung LCD接口篇

    关键词:android LCD控制器 Framebuffer PWM  平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos ...

随机推荐

  1. Android中当前墙纸Wallpaper存放的位置

    最近想做个应用保存当前墙纸,找了一下,发现当前墙纸的位置在. /System/users/0/wallpaper 没有后缀.导出来修改一下名字就可以看到图标了.比如改为png. 但是,这个目录要求系统 ...

  2. HDU——1418抱歉(平面欧拉公式)

    抱歉 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  3. HDU——1397Goldbach's Conjecture(二分查找+素数打表)

    Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot ...

  4. mybatis学习(八)——resultMap之association&&collection解析

    一.resultMap的使用 resultMap 也是定义返回值类型,返回值为用户自定义的类型,可用于解决JavaBean中的属性名和数据库中的列名不一致的情况 之前对于JavaBean中属性名和数据 ...

  5. ubuntu下卸载python2和升级python3.5

    卸载python只需一条语句就可以实现 sudu apt-get remove python ubuntu下安装python3 sudo apt-get install python3 但这样只安装了 ...

  6. 关于vue属性绑定的问题

    <el-submenu index="></el-submenu> 类似于这样的形式,这里的index是以string的数据格式存在的. <el-submenu ...

  7. hdu 2999 sg函数(简单博弈)

    Stone Game, Why are you always there? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/ ...

  8. java内部类的四大作用

    一.定义 放在一个类的内部的类我们就叫内部类. 二. 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所 ...

  9. AC日记——[ZJOI2009]假期的宿舍 cogs 1333

    1333. [ZJOI2009] 假期的宿舍 ★★☆   输入文件:zjoi09holiday.in   输出文件:zjoi09holiday.out   简单对比时间限制:1 s   内存限制:25 ...

  10. AC日记——最优贸易 codevs 1173

    题目描述 Description [问题描述]C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这m 条道路中有一部分为单向通行的道路 ...