当前位置: 首页 > news >正文

针对人群不同,网站做细分集成微信的企业网站管理系统

针对人群不同,网站做细分,集成微信的企业网站管理系统,百度网址大全百度一下你就知道,杰迅山西网站建设前言 重复的代码一直都是可维护性的大敌#xff0c;重构的重要任务之一也就是要去除掉重复的代码#xff0c;有效的减少重复代码#xff0c;可以大大提高软件的扩展性。 在Android开发中#xff0c;很容易产生重复的代码。因为Android是组件#xff0c;模板式开发#xf…前言 重复的代码一直都是可维护性的大敌重构的重要任务之一也就是要去除掉重复的代码有效的减少重复代码可以大大提高软件的扩展性。 在Android开发中很容易产生重复的代码。因为Android是组件模板式开发每个页面都是独立用Activity或Fragment实现布局文件都是用XML方式去写所以很容易造成代码的重复虽然二个页长的差不多但毕竟是二个Activity于是就拷一份出来改吧改吧就成了。 那么我们如何做才能去掉重复的代码呢 一、使用include标签引用重复布局 二、使用style定义样式 三、使用ViewStub减少整体布局的重复 四、多使用应用资源 五、代码的抽象与继承 六、总结 一、使用include标签引用重复布局 标签是减少布局重复的利器它的作用是把另外一个布局文件全部无修改式的嵌入到标签所在的位置。这与C/C语言的预处理指令#include是一样的。在WEB框架式开发中也非常常用HTML模板其中也有类似的include。目的也是减少代码的重复。 要想把include用的恰到好处首先要做的就是把整体布局模块化从整体的布局出发找出可复用的局部布局或布局组合把它们放入单独一个布局文件中然后在其他的地方就可以include了。 例如 test.xml LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android xmlns:toolshttp://schemas.android.com/tools android:layout_widthmatch_parent android:layout_heightmatch_parent android:orientationvertical Button android:layout_widthmatch_parent android:layout_heightwrap_content android:textSize16dp android:gravitycenter android:layout_marginTop5dp android:layout_marginBottom5dp android:text1 / View android:layout_widthmatch_parent android:layout_height0.5dp android:background#BFBFBF/ Button android:layout_widthmatch_parent android:layout_heightwrap_content android:textSize16dp android:gravitycenter android:layout_marginTop5dp android:layout_marginBottom5dp android:text2 / View android:layout_widthmatch_parent android:layout_height0.5dp android:background#BFBFBF/ Button android:layout_widthmatch_parent android:layout_heightwrap_content android:textSize16dp android:gravitycenter android:layout_marginTop5dp android:layout_marginBottom5dp android:text3 / /LinearLayout 这段布局是我们正常情况下的写法从布局中我们可以看出View标签代码是一样的那么我们就可以把View单独写在一个xml文件里然后用include标签引用它即可。 简化后的布局代码如下 test_1.xml LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalButtonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:textSize16dpandroid:gravitycenterandroid:layout_marginTop5dpandroid:layout_marginBottom5dpandroid:text1 /include layoutlayout/divider_view/Buttonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:textSize16dpandroid:gravitycenterandroid:layout_marginTop5dpandroid:layout_marginBottom5dpandroid:text2 /include layoutlayout/divider_view/Buttonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:textSize16dpandroid:gravitycenterandroid:layout_marginTop5dpandroid:layout_marginBottom5dpandroid:text3 / /LinearLayoutdivider_view.xml ?xml version1.0 encodingutf-8? View xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_height0.5dpandroid:background#BFBFBF/View 怎么样是不是比原来的布局代码简洁直观多了而且实现出来的效果也一样。当然这是单个View重复那么多个View组重复也是一样的。 使用include标签还有一个好处就比如你要修改View的样式在未使用include之前你需要把test.xml中的所有View都要修改一遍但是使用include之后你只需要修改divider_view.xml中的View即可。 二、使用style定义样式 在我们开发应用的过程中会有很多控件的样式是一样的我们一般会用复制-粘贴来使用这样就会有大量重复代码出现而且如果我们某一天要修改该控件的样式了那我们需要找到所有这些控件一个一个的修改样式但是我们如果使用style来定义样式的话不仅会减少大量重复代码而且修改样式也变的非常灵活。 就比如test_1.xml布局文件中有三个Button控件只有text内容不同那么我们如何把Button的共同点提取到style中呢很简单在styles.xml下 新增一对style标签为该style命名如命名为DemoBtn然后在style标签内 使用item标签来存放控件的属性例如 android:layout_widthmatch_parent     用item来表示就是 item nameandroid:layout_widthmatch_parent/itemname是控件的属性名标签之间则是属性值 按照这样的方法把所有共同属性都添加到DemoBtn这一style中即可。 style nameDemoBtn item nameandroid:layout_widthmatch_parent/item item nameandroid:layout_heightwrap_content/item item nameandroid:textSize16dp/item item nameandroid:gravitycenter/item item nameandroid:layout_marginTop5dp/item item nameandroid:layout_marginBottom5dp/item /style最后回到布局中把三个Button的共同属性全都删除掉换为 style style/DemoBtn   就能达到原来的效果1行代码代替6行代码代码现在更加美观了。 test_2.xml LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/android xmlns:toolshttp://schemas.android.com/tools android:layout_widthmatch_parent android:layout_heightmatch_parent android:orientationvertical Button stylestyle/DemoBtn android:text1 / include layoutlayout/divider_view/ Button stylestyle/DemoBtn android:text2 / include layoutlayout/divider_view/ Button stylestyle/DemoBtn android:text3 / /LinearLayout 经过include标签引用和style样式提取在看我们的布局文件是不是感觉很清爽了。而且需要修改样式的话只需要在style中修改就可以了。 三、使用ViewStub减少整体布局的重复 前面是找出布局中的可复用布局组合include以减少重复。但有些时候是反过来的也就是说有几个页面它们整体的一样的但是某个局部是不同的这个时候include就不行了。这个时候就可以使用一样的整体布局ViewStub来做布局。 ViewStub是一个轻量级别的不可见的View当ViewStub被设为visible时或者显示调用layout()时才会去把它所指向的布局渲染出来所以它非常适合处理整体相同局部不同的情况。关于ViewStub的使用可以参考Android实战技巧ViewStub的应用。 具体的策略是 规划整体布局抽象出共同的布局把可变的布局识别出来写整体布局对于可变的局部布局用ViewStub替代用一个基Fragment来操作整体布局。创建基Fragment的子类每个子类用真正的布局来替换ViewStub。 四、多使用应用资源 这点是非常重要的Android的强大之处在于所有的资源的指定都可以用引用而非直接写死直接写死就会出现重复代码比如颜色背影字串布局ID度量(dimen)风格等等。那么我们在使用的时候也尽可能的使用引用这样非常易于复用修改和定制从而也就更方便复用。 五、代码的抽象与继承 从代码上去除重复的代码就是用通用的重构技巧比如提炼方法抽象基类提炼常量等。 六、总结 其实代码的去重复的关键都在于要分析出可变与不可变共性和特性这是抽象与封装的基础。这个没有直接可操作性的建议只能靠自己平时多多积累以及遇到问题时多多思考。 另外就是对于重复的定义是达到三次及三次以上。如果仅出现二次并且无可能出现别一次这个时候其时要不要去重复有在商榷写第二次时花时间重构与拷贝或重新实现其实代码差不多。当发现第三次实现某个东西时就要考虑好好的重构一下减少重复。 还有就是在项目开始不要考虑的太多不要过度设计。孤认为不过度设计更不要过早优化就根据需求和进度和发展状况综合来看。当出现了重复需要重构时就立马去做这样就不会出问题。但如果没能及时去做重构欠了债那么由于涉及代码功能和模块都比较多时再去重构难度大风险也大。就好比房屋的维护保养当出现灰尘时就去打扫很容易个把小时就搞定了但如果一直拖着一年才打扫一次可能要十天半个月才能完事。
http://www.zqtcl.cn/news/102369/

相关文章:

  • wordpress 汽车宁波seo整体优化
  • 网站建设公司在哪里宣传c2c旅游电子商务平台
  • 网站查看空间商网站不提交表单
  • 空间怎么上传网站企业所得税怎么算公式
  • 网站建设wix建筑公司网站设计思路
  • 门户型网站都有哪些网页制作的视频教程
  • 虚拟主机 多个网站没有备案的网站
  • 河南网站建设推广公司汕尾网站建设
  • 海南省建设网站首页公司网站图片传不上去
  • 中国建设银行网站评价广告投放都有哪些平台
  • 网站系统免费wordpress附件不在数据库
  • 网站开发国外研究状况电商推广是什么意思
  • 太原建高铁站wordpress分级菜单显示
  • 工信部网站备案变更运营一个app大概多少钱
  • 杭州网站建设公司哪家好网站建设 中国联盟网
  • 成都手机网站建设价格网站安全检测软件
  • 长沙申请域名网站备案找个做游戏的视频网站
  • 网站平台开发与应用面试西安seo优化顾问
  • 苏州网站制作及推广中国优秀的企业网站
  • 网站开发语言太老东莞哪家公司做网站比较好
  • 单位网站制作费用报价单博客和个人网站建设情况
  • 山东网站建设公司电话全球建筑设计网站
  • wordpress 站点描述国外优秀网页设计赏析
  • php红酒网站建设软件开发外包项目合作
  • 做网站的都改行做什么了上海推牛网络科技有限公司
  • 在哪里建设网站dedecms做网站注意事项
  • 垂直类网站怎么做推广互联网站的建设维护营销
  • 手机网站大全排行江西省赣州市邮政编码
  • 集团网站建设建站模板seo优化工具软件
  • 大连项目备案网站网站建设一下需要多少费用