命名规则

变量名:
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. 洛谷P4175 - [CTSC2008]网络管理

    Portal Description 给出一棵\(n(n\leq8\times10^4)\)个点的带点权的树,进行\(m(m\leq8\times10^4)\)次操作,操作有两种: 修改一个点的点权. ...

  2. 微信小程序中 input组件影响页面样式的问题

    input组件有个默认的宽高,好像是不能清除的,在使用flex布局的时候,发现会影响到页面的布局,以为是flex布局的问题,改为float布局试了下也是同样的问题,试着把input标签换成别的标签,问 ...

  3. 使用JWT实现Token认证

    为什么使用JWT? 随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,然后通过token去取redis中的缓存的用 ...

  4. linux centos7无法连接ssh

    在centos7连接ssh时,参考了以下博文,终于完美解决 https://blog.csdn.net/trackle400/article/details/52755571 1.  首先,要确保Ce ...

  5. bzoj 2300 [HAOI2011]防线修建 set动态维护凸包

    题目大意 动态删点,求凸包周长 分析 反过来变成动态加点 用set维护平衡树 具体是找到凸包上左右两点 拆开 就可以把左边当作顺时针求的一个凸包,右边当作逆时针求的一个凸包,像栈那样出set就好了 注 ...

  6. hdu 4300 kmp算法扩展

    Clairewd’s message Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  7. Python初见

    参考资料:http://wenku.baidu.com/link?url=_akpT-G5Tvf7ECyszSipOAhHXzjlpYu-RWPcRTYp_tecPOollPGUxXG4MH69MLN ...

  8. 监听EditText输入完成

    最近有个需求,要在用户输入完快递单号之后,请求快递100接口,拿到快递公司信息.总不能用户输入一个数字就请求一次吧,给服务器造成不必要的压力(虽然不是自家服务器).但是又无法知晓用户何时输入完毕,每家 ...

  9. NavBarControl(侧边导航栏)

  10. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...