当前位置:  编程技术>移动开发
本页文章导读:
    ▪溜溜IQ-一个小应用,欢迎在博客中多提意见,多谢~        溜溜IQ----一个小应用,欢迎在博客中多提意见,谢谢~~   <ignore_js_op > <ignore_js_op > 204907_3ixH_178283.png (106.05 KB, 下载次数: 0)   <ignore_js_op > 205002_wpfe_178283.png (97.41 KB, 下.........
    ▪ SonarQube中监测循环、包耦合度状况        SonarQube中监测循环、包耦合度情况一、为什么要监测循环、包耦合度情况?         耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指.........
    ▪ 关于酷派8730“移动版”手机无法将应用安装在外置SD卡的解决方法和获取ROOT权限方法       关于酷派8730“移动版”手机无法将应用安装在外置SD卡的解决办法和获取ROOT权限方法酷派8730“移动版”手机的rom版本号是“039”,具体可通过输入*#9527*#,进入工厂模式查看。 039版是无法将.........

[1]溜溜IQ-一个小应用,欢迎在博客中多提意见,多谢~
    来源: 互联网  发布时间: 2014-02-18
溜溜IQ----一个小应用,欢迎在博客中多提意见,谢谢~~

 

<ignore_js_op >
<ignore_js_op >

204907_3ixH_178283.png (106.05 KB, 下载次数: 0)

 

<ignore_js_op >

205002_wpfe_178283.png (97.41 KB, 下载次数: 0)

 

<ignore_js_op >

205514_sxA9_178283.png (142.69 KB, 下载次数: 0)

 

<ignore_js_op >

205206_qMrF_178283.png (84.65 KB, 下载次数: 0)

 

<ignore_js_op >

205301_lUDS_178283.png (57.84 KB, 下载次数: 0)

 

<ignore_js_op >

004437_JOnp_178283.png (60.51 KB, 下载次数: 0)

 

<ignore_js_op >

14205850_bT40.png (51.86 KB, 下载次数: 0)

 

<ignore_js_op >

14205850_ELOc.png (23.49 KB, 下载次数: 0)

 

<ignore_js_op >

14205850_q7sx.png (96.44 KB, 下载次数: 0)

 

 
 
 

    
[2] SonarQube中监测循环、包耦合度状况
    来源: 互联网  发布时间: 2014-02-18
SonarQube中监测循环、包耦合度情况
一、为什么要监测循环、包耦合度情况?

        耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。

        耦合度很高的情况下,维护代码时修改一个地方会牵连到很多地方,如果修改时没有理清这些耦合关系,那么带来的后果可能会是灾难性的,特别是对于需求变化较多以及多人协作开发维护的项目,修改一个地方会引起本来已经运行稳定的模块错误,严重时会导致恶性循环,问题永远改不完,开发和测试都在各种问题之间奔波劳累,最后导致项目延期,用户满意度降低,成本增加

        有两个测试指标有助于确定过度耦合的情况,即“传入耦合”(这个对象对其他对象负有责任)与“传出耦合”(这个对象依赖于其他对象);

        高度依赖于其他对象的对象在面对变化时显得很脆弱,传入耦合与传出耦合共同组成了“不稳定性”值。

                                                               不稳定性 = 传出耦合 / (传出耦合 + 传入耦合)

         另外,了解耦合度情况将可以对可维护性产生较大影响,具有高传入耦合的配件应该有大量的相关测试,因为许多代码依赖于这个配件,因此就更希望保证它是可靠的,可有效用于评估与降低软件风险。

二、如何监测循环、包耦合度情况

How to Hunt for Cycles? 如何寻找循环呢?

在SonarQube中,在面板中增加相应的widget插件即可


Dependency Structure Matrix

依赖结构矩阵,DSM可以用来简洁地展示不同组件之间的依赖关系,根据不同的导航级别,这些组件可以是最基本的类级别、包或文件级别。


Row Selection 点击某行中的组件将选中该行,如图选中了.set包:

1.选中了.set包意味着“bidimap”包有3个文件依赖于“set”包;

2.纵列表示“set”包的传出耦合,即“set”包分别有1、6、3、8个文件依赖于“list”、“collection”、“iterators”、“collections”包;

3.横排表示“set”包的传放耦合,即“bag”、“bidimap”、“splitmap”、“map”包分别有5、3、1、8个文件依赖于“set”包;


Colors Meaning 不同的颜色便于使得矩阵中的依赖关系一目了然


如图:绿色组件依赖于蓝色组件,而同时蓝色组件依赖于橙色组件。


Cell Selection 点击依赖矩阵中的数字可以选中单元格,如图:

1.意味着“buffer”包有4个文件依赖于"collection"包,而同时"collection"包没有文件依赖于“buffer”包;

2.另外也就意味着,矩阵中右上侧的红色数字表示有可疑的依赖,即循环;


DSM Sorting and Cycles 依赖结构矩阵的排序与循环

1.在矩阵中,处于软件结构最顶层的排在最上面,而处于软件结构最底层的组件排在最下面,例如每个组件所依赖的"collection"包自身依赖于更底层的“comparators”包;

2.位于上三角中的红色数字的是需要切断依赖的以便移除循环的地方,当没有循环时,DSM矩阵呈现为下三色形状;


Find Usages for Dependencies 依赖关系的使用

如图:从“buffer”包到“iterators”包有2个传出耦合,此时双击“2”单元格即可看到详细信息。


Zoom into a Component to get Dependencies Between Sub-components

双击组件可以得到子组件的详细依赖关系,可以看到这个包中不同类之间的依赖结构矩阵。



        本小节官方文档链接:http://docs.codehaus.org/display/SONAR/Cycles+-+Dependency+Structure+Matrix

三、降低耦合度的方法    1、少使用类的继承,多用接口隐藏实现的细节。 java面向对象编程引入接口除了支持多态外, 隐藏实现细节也是其中一个目的。    2、模块的功能化分尽可能的单一,道理也很简单,功能单一的模块供其它模块调用的机会就少。(其实这是高内聚的一种说法,高内
聚低耦合一般同时出现,为了限制篇幅,我们将在以后的版期中讨论)。       
  3、遵循一个定义只在一个地方出现。       
  4、少使用全局变量。       
  5、类属性和方法的声明少用public,多用private关键字,
  6、多用设计模式,比如采用MVC的设计模式就可以降低界面与业务逻辑的耦合度。
  7、尽量不用“硬编码”的方式写程序,同时也尽量避免直接用SQL语句操作数据库。
  8、最后当然就是避免直接操作或调用其它模块或类(内容耦合);如果模块间必须存在耦合,原则上尽量使用数据耦合,少用控制耦

合,限制公共耦合的范围,避免使用内容耦合。

        本小节源自:http://hi.baidu.com/roleya/item/5165ed9d65df35dd1f4271ac


    
[3] 关于酷派8730“移动版”手机无法将应用安装在外置SD卡的解决方法和获取ROOT权限方法
    来源: 互联网  发布时间: 2014-02-18
关于酷派8730“移动版”手机无法将应用安装在外置SD卡的解决办法和获取ROOT权限方法

酷派8730“移动版”手机的rom版本号是“039”,具体可通过输入*#9527*#,进入工厂模式查看。

039版是无法将应用安装在外置SD卡里的,解决办法是升级至049版;即从039-->048-->049,下面是具体做法:

1.在官网的“首页--服务中心”准备相关工具:

 1)8730自助升级工具。

 2)8730自助升级包048版本。

 3)8730Ver049版本SD升级包。

 4)8730 升级指导V2[1]。

 5)USB_DRIVER。


2.开始升级工作:

 1)将手机上有用的信息都备份好,例如:联系人、短信、图片等。

 2)从039升级至048:

  A.安装“8730自助升级工具”。我的是win7系统,运行前右击其快捷方式,在“属性”的“兼容性”中勾选“以兼容模式运行这个程序”、“以管理员身份运行此程序”,如下图:


 B.设置电脑时间为2013-05-01,否则老是提示要升级。

 C.在“设备管理器”中,删除类似“360手机助手”为手机自动安装的驱动程序,安装官方的驱动,重启电脑;这个很关键。

 D.按照“8730 升级指导V2[1]”进行升级即可。

 E.升级后,手机会提示“有系统优化”,不要升级,否则会自动升级到050版。050版是不能将应用安装到外置SD卡的,切记。

 F.升级后,输入*#9527*# 进入工厂模式 查看是否升级成功。


 3)从048升级至049:

  A.按照“8730Ver049版本SD升级包”中的说明文档操作即可。

  B.升级后,手机会提示“有系统优化”,不要升级,否则会自动升级到050版。050版是不能将应用安装到外置SD卡的,切记。

  C.升级后,输入*#9527*# 进入工厂模式 查看是否升级成功。


经过以上步骤,你的手机已经可以将应用安装到外置SD卡上,赶快下载个应用来安装试试。


=====================


若想获取ROOT权限,在PC上使用软件“VRroot”进行处理即可,方便快捷。


 



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3