美文网首页
代码规范编程

代码规范编程

作者: 茴香豆的第五种写法 | 来源:发表于2017-09-21 16:20 被阅读0次

    对于开发项目时间不长的人来说,规范是很重要的,总结几点:

    1:包名的建立

    目录

    这个就不是很规范,包名的建立大致可以从两个方向分类,

    第一就是根据业务逻辑按模块分类,比如一个app中有四个模块,首页,商城,发现,个人中心,那么可以以模块来分类.

    另一个就是我们平时使用的了,按照使用的属性来分类,比如网络层,视图层,工具类,实体bean,适配器等等,一个好的分类可以让目录结构更清晰.接手项目的人能够快速看懂.拿上诉的目录结构来说,GuidePagerAdapter就应该统一放到adapter包下,LoginActivity应该放在activity中,MD5工具类应该放在utils包下,后面的XXXActivity都应该放在activity目录下面.

    2:Manifest.xml中规范

    android:anyDensity="true"

    android:largeScreens="true"

    android:normalScreens="true"

    android:resizeable="true"

    android:smallScreens="true"/>

    这个屏幕适配的支持个人感觉没啥用处,删掉也不影响什么

    activity

    定义多个activity的时候,一定要注释下这个activity是干嘛的.

    <meta-data>和service标签尽量定义在activity后

    application

    application应该自己定义一个,用来做程序启动时候初始化操作,比如语言切换,百度地图初始化等,另外使用自定义的application它默认就是单例模式,可以方便的在任何需要的地方获取application中的属性值.

    如:public class XXAppliXXcation extends Application

    3:Activity基类


    activity.class

    我们在创建一个activity时候,一定要用到基类,别继承系统的Activity,因为很多使用Activity中一般都会执行onCreate--->initlastPagerData()--->initView()---->initData()-----addEvent(),这时候如果我们定义一个BaseActivity,让自己创建的activity继承这个基类就不用每次去写这些方法,为我们开发节省了时间,BaseActivity的好处还有在做界面切换动画的时候,这个时候你只需要在baseActivity的finish中写进入退出动画,而不需要在自己每个activity中写overridePendingTransition();有些网络请求需要弹出dialog,如果写在baseActivity中,就可以直接调用了,总的来说就是减少代码量,节约时间.

    4:方法中的规范


    code.jpg

    (1)首先方法名的命名,不要用中文的拼音,这里需要更新的逻辑处理就用update或灵格斯上去搜索英文翻译.

    (2)url这种网络请求的应该有一个公用类来存放,通常是Constans.然后这里调用Constans.url来获取.地址变动的时候也方便统一改动.

    (3)网络请求,如果是需要使用网络请求的话,目前比较好的就xutils,okhttp,nohttp这里在application中封装好后就直接使用了,不推荐用上面的原生未经过封装的方法.

    (4)Toast中代码中千万别用中文直接就提示出来,一定要在string.xml中定义好,不然别人一看就知道是个新手.Layout.xml视图中也应该在string.xml中定义好后引用.Toast可以抽一个公共方法,在baseActivity中定义好,然后自己activity就可以直接使用.

    (5)能在局部变量中传值的千万不要定义成全局,这样逻辑一复杂就可能导致取值不对,还有一点要注意的就是在一个方法体中不要对某个值既get又set,这样也容易导致后面取值不对又很难发现是哪里设置错了.get,和set中的值都是在常量池中保存,如果application炸了,那么get到的值会包nullpointException.尽量少用get,set.

    相关文章

      网友评论

          本文标题:代码规范编程

          本文链接:https://www.haomeiwen.com/subject/erursxtx.html