浅谈Android编码规范

来源:互联网 发布:深圳咫尺网络 编辑:程序博客网 时间:2024/06/04 01:18

到今天为止,我参加工作也差不多快三年时间了,中间看别人的代码也看过不少。有的时候真的能被气死。。。但是工作需要,你不看还不行,只能硬着头皮去看。由此及彼想想,自己刚参加工作那会儿写的代码,估计也能气死活人吧,哈哈...今天我一个朋友找我帮忙,他们公司的Android开发年后没有回来上班,但是项目又紧,现去招人肯定是来不及了,就喊我过去给帮忙,争取修改修改能先拿给客人体验再说。然后我就过去了,然后就没有然后了,2017年的第一个周末就泡汤了,本来想着就一个小BUG,过去给他改改就差不多了,撑死个把小时。但是...我错了,错的离谱,光是看那个哥们儿的代码我就看了一上午,中间是各种死去活来,生不如死,恨不得手撕了他...因此,今晚我说成啥也要总结下关于代码规范的问题,依此成为一个文档,希望能帮助更多的人去规范自己,当然了,方便你我他的前提还是规范自己本人。

修饰符的顺序

1.修饰符的顺序:类和成员的修饰符如果有多个的话,一定要按照JAVA语言的规范去定义排序。

public protected priate abstract static final transient volatile synchronized native strictfp

2.switch语句:除了要注意代码缩进以外,还要注意两个case之间如果不需要break语句时,一定要加上注释,方便维护者理解。同时结尾一定要加上default语句

3.代码缩进:一定要根据逻辑,代码块儿做好代码的缩进

4.行字符数的限制,由于显示器的不同,一般情况下我们设置行字符数限制为100最好

5.多使用花括号:我实在不明白为什么会有人在if语句后面不加花括号,是为了彰显自己的NB么?虽然编译可以通过,但是你知不知道这样会让维护者很抓狂的.所以我建议在if,else,for,do,while的语句使用时一定要结合花括号去使用。

命名约定

这个已经是老生长谈了,但是在这里不说还不行,总是有人为了图省事就给你定义一个i、j、k,如果说你仅仅是在for里面去用了我也就不说了,今天在那哥们儿代码里面尼玛定义的一个全局变量i,什么鬼?我宁可你用拼音给我定义 。

类名定义要遵循大驼峰命名法,就是每个单词的首字母要大写,比如:MyClass、LoginAtivity。

方法名和变量名要遵循小驼峰命名法,就是第一个单词的首字符要小写,后面的每个单词的首字母大写,比如:myFristLoginSign、downloadDataDetai

常量定义时要全部大写,单词之间用下划线隔开,比如:static final String MY_SERVER_URL_TEST = "http://192.168.119.30"

Android布局命名

布局文件命名规则一般使用“前缀_逻辑名"的方式,单词全部用小写,比如:

Activity的布局文件:activity_login、activity_regist、...activity_xxx

Fragment的布局文件:fragment_home、fragment_personal、...fragment_xxx

自定义控件的布局文件:view_detail、view_xxx

对话框的布局文件:dialog_xxx

列表(listview、recyclerview)的item布局文件:item_xxx

资源文件命名

资源文件的命名一般遵守”前缀_模块名_逻辑名称“的格式定义,单词全部用小写,比如:

按钮:btn_xxx.png

图标:ic_xxx.png

背景图片:bg_xxx.png

间隔线:divider_xxx.png

起名的重要性

不管是在定义类的时候还是在定义方法名或者变量名的时候,一定要起一个让人一眼看到就明白是什么意思的名字,别整那些稀奇古怪的字符串来滥竽充数,比如:

主界面:MainActiviy

主fragment:HomeFragment

下载服务:DownloadSerVicec

变量:day,number,time,等等有意义的单词

言简意赅,让别人看的时候没有一点的滞涩感。

好了,说那么多,也不是说吐槽别人呢,谁都是从那时候过来的,我这也算是给自己敲个警钟吧,希望自己以后能严格要求自己。

0 0
原创粉丝点击