命名规则

变量名:
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. 【bzoj2467】[中山市选2010]生成树 矩阵树定理

    题目描述 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈 ...

  2. 搜索引擎快捷导航:一个简单的chrome插件(教程)

    一.如何通过练习来提高学习新框架的最好姿势是:基于现有的业务来学习.即从工作中学习,从实践中学.但是,如果一直只使用新的框架来重写旧的业务,成长也会趋近于0.第一次,使用新框架时收获可能颇丰:第二次, ...

  3. BZOJ4916 神犇和蒟蒻 【欧拉函数 + 杜教筛】

    题目 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; 输入格式 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; 输出格式 请你输出一个整数A=\sum ...

  4. 从实际案例聊聊Java应用的GC优化

    转自美团点评技术博客:https://tech.meituan.com/jvm_optimize.html 当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步 ...

  5. xsy 1790 - 不回头的旅行

    from NOIP2016模拟题28 Description 一辆车,开始没油,可以选择一个点(加油站)出发 经过一个点i可加g[i]的油,走一条边减少len的油 没油的时候车就跪了 特别的,跪在加油 ...

  6. SharePoint 2013 App 开发—SharePoint Hosted方式,

    这篇文章会依据简单的Demo,介绍一下SharePoint Hosted 方式开发App 的步骤和说明. 这种方式的环境相比较Office 365 要麻烦一些,如果不可以连接到Internet 或者还 ...

  7. Linux 设备驱动的固件加载【转】

    转自:http://blog.csdn.net/zqixiao_09/article/details/51106663 版权声明:本文为博主原创文章,未经博主允许不得转载. 作为一个驱动作者, 你可能 ...

  8. 四、 java循环结构

    for循环结构: 格式:①初始化条件;②循环条件;③迭代条件;④循环体 for(①;②;③){ //④ } 执行过程:①-②-④-③-②-④-③-...-④-③-②,直至循环条件不满足,退出当前的循环 ...

  9. 阿里云oss教程

    OSS是提供非结构化数据存取的服务.对于刚开始使用OSS的用户,非结构数据可以理解为word文档.PDF.PPT.EXCEL表格.MP3.MKV.RMVB.HTML等各种类型文件.OSS提供API去进 ...

  10. 2017CCPC 哈尔滨 B

    这题没有考虑到m这个东西,所以就没有往二分答案的方向想 二分答案 check的时候,我们找的是大于等于x的数有多少个被加入到那个数组中.如果 >= m说明这个数可能是答案,否则就不是. 用尺取来 ...