首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发架构规范前言命名规范编程规范代码提交规范架构规范参考文章

常量、枚举等均采用大写形式,用下划线区分各单词。...这样也减少初始化代码。比如开源库PagerSlidingTabStrip ? 更多命名规范 之前收藏的这篇文章比较全。...服务端可以实现的,就不要放在客户端 引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大 处理应用全局异常和错误,将错误以邮件的形式发送给服务端 图片的.9处理 使用静态变量方式实现界面间共享要慎重 单元测试...message.what冲突 activity中在一个View.OnClickListener中处理所有的逻辑 strings.xml中使用%1$s实现字符串的通配 数据一定要效验,例如字符型转数字型,如果转换失败一定要有缺省值...添加日志打印,用于查找错误等。 logger 以及timber是我推荐的。

1.4K80
您找到你想要的搜索结果了吗?
是的
没有找到

初识Rust

神一样的枚举类型和模式匹配机制 Rust的枚举类型也很有意思。它允许你给枚举类型的每一项绑定一个不同的值。这就延伸出了Rust对那种可成功可失败的API的推荐返回值是 Result 。...这是一个枚举值,其中有Ok(T)表示成功和成功的返回值,还有Err(E)表示失败失败的返回值。当然如果有需要返回多种失败则可以换个有更多条目的枚举值。不同枚举值可以带出不同类型的信息。...它主要是只处理成功或者只处理失败,忽略其他case的简写。...工程化 测试框架 单元测试、集成测试和压力测试 Rust 自带单元测试、集成测试和文档测试框架并且可以直接通过执行 cargo test [查找名] 来运行。...而如果指定了 查找名 ,所有测试名称中包含 查找名 的都会执行。 在运行测试的时候,panic! 之类的宏不会再崩溃,而是输出错误信息。额外还有一些测试专用的宏 assert!

1.5K40

AndroidAndroid开发架构规范【转】

常量、枚举等均采用大写形式,用下划线区分各单词。...这样也减少初始化代码。比如开源库PagerSlidingTabStrip ? 更多命名规范 之前收藏的这篇文章比较全。...服务端可以实现的,就不要放在客户端 引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大 处理应用全局异常和错误,将错误以邮件的形式发送给服务端 图片的.9处理 使用静态变量方式实现界面间共享要慎重 单元测试...message.what冲突 activity中在一个View.OnClickListener中处理所有的逻辑 strings.xml中使用%1$s实现字符串的通配 数据一定要效验,例如字符型转数字型,如果转换失败一定要有缺省值...添加日志打印,用于查找错误等。 logger 以及timber是我推荐的。

1.2K90

Gradle For Android(6)--测试单元

Android Studio和Gradle Android Plugin可以为单元测试提供支持,但是需要我们可以配置一些东西。 JUnit JUnit是一个常用的单元测试Lib。...它可以让写出来的单元测试很容易的理解。值得注意的是,这些特殊的单元测试只对业务逻辑测试有用,而与Android SDK相关的则不会生效。...如果单元测试失败了,那么Gradle就会在命令行打印出来失败日志。如果成功了,那么Gradle会打印出来BUILD SUCCESSFUL的日志。 如果某个test任务失败了,整个过程会立刻终止。...也就意味着如果失败,所有的任务都不会执行。...Report 功能测试报告会展示Device和Android的版本。你可以同时在多个设备上执行这些测试任务,所以这些设备信息会更好的查找到设备或者版本单独的Bug。

1.7K40

Android必须要掌握的东西

内存优化 检查自身可以内存 每个app都有heap限制, 可以通过调用getMemory来获取可用heap大小 知晓内存的开支情况 使用枚举通常会比使用静态常量要消耗两倍以上的内存,在Android...开发当中我们应当尽可能地不使用枚举。...Android中的单元测试; 优点 为代码提供保障 优化设计, 编写单元测试从调用者角度观察, 迫使设计者吧程序设计成易于调试和可测试, 并且消除软件中的耦合....测试哪些条件 边界条件 是单元测试需要重要测试的地方 覆盖执行路径 模拟所需的功能模块 手动mock对象 使用Mockito库 Android单元测试 Google在Junit的基础上进行拓展, 使之能在...最简单的就是将bitmap设置给imageview,失败了就将错误通过回调通知到上层。

48110

初识Rust

神一样的枚举类型和模式匹配机制 Rust的枚举类型也很有意思。它允许你给枚举类型的每一项绑定一个不同的值。这就延伸出了Rust对那种可成功可失败的API的推荐返回值是 Result 。...这是一个枚举值,其中有Ok(T)表示成功和成功的返回值,还有Err(E)表示失败失败的返回值。当然如果有需要返回多种失败则可以换个有更多条目的枚举值。不同枚举值可以带出不同类型的信息。...它主要是只处理成功或者只处理失败,忽略其他case的简写。...工程化 测试框架 单元测试、集成测试和压力测试 Rust 自带单元测试、集成测试和文档测试框架并且可以直接通过执行 cargo test [查找名] 来运行。...而如果指定了 查找名 ,所有测试名称中包含 查找名 的都会执行。 在运行测试的时候,panic! 之类的宏不会再崩溃,而是输出错误信息。额外还有一些测试专用的宏 assert!

65940

开始切换到 Kotlin: 谷歌工程师给初学者的知识点总结

Android Studio Profiler 团队内部,我们是通过几个步骤克服了这个问题,第一步是要求所有的单元测试使用 Kotlin 编写。...IDE 功能: 把 Java 文件转换成 Kotlin 文件 如果您使用 Android Studio 开发程序,学习 Kotlin 的最简单方法是使用 Java 语言编写单元测试,然后在Android.../// Java private final Project project; // 初始化之后无法再赋值 private Module activeModule; // 初始化之后可以再赋值 //...在单元测试中,这只会造成测试用例的失败,但是在生产环境中,可能会使程序崩溃,所以要非常小心。事实上,在生产环境的代码中有太多的 !!...在单元测试中,测试用例里使用 !! 操作符是可接受的,原因是当假设不成立的时候测试用例会失败,并且您还可以修复它。 如果您确定使用 !!

86410

Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )

() 方法主要是进行网络初始化操作 ; 在 HackCommand::Prepare() 方法 中 调用了 【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET...网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 ) 一、SOCKET 网络套接字初始化 博客章节介绍的 CNetwork::WaitClientOnline()...()) { std::cout << "连接成功\n"; return true; } std::cout << "连接失败:" << m_network.GetErrorString()...endl; } 然后等待用户输入 1 , 2, 3, 4 中的一个字符 , /* 等待用户输入 */ std::cin >> cmd; 根据用户输入的字符 , 判定用户的操作意图 , 这些都定义在枚举中..., 如果需要增加其它命令 , 直接增加该枚举变量值即可 ; /* 如果需要增加其它命令 , 直接增加该枚举变量值即可 */ enum { CMD_READ_DATA = 1, CMD_WRITE_GOLD

17110

对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你

项目背景 我所在的组织项目数量众多,使用的语言和框架也很多,比如Java、ReactNative、C# .NET、Android、iOS等,部署环境也是多种多样比如Tomcat、K8S、IIS、客户端应用是局域网内企业证书安装等...": { "执行Maven单元测试脚本": { "Type": "COMMAND_STATUS", "Script": { "Maven单元测试": "cd...,对应的另一个节点名称是Fail-IndexOf,标准输出如果含有Fail-IndexOf定义的字符串则执行失败,两者选择其一使用。...经过上述配置文件的执行,我们可以很简单的完成所有的构建步骤: 这里篇幅有限,更多内容请到项目仓库查看比如: 构建JS项目 构建ReactNative项目 构建Android项目 构建iOS项目 构建.NET...项目 构建多个子项目 构建成功和失败处理 在K8S内创建Pod进行构建

1.3K20

ApacheCN Java 译文集 20211012 更新

使用枚举类型替代整型常量 35. 使用实例属性替代序数 36. 使用 EnumSet 替代位属性 37. 使用 EnumMap 替代序数索引 38. 使用接口模拟可扩展的枚举 39....在细节消息中包含失败一捕获信息 76. 保持失败原子性 77. 不要忽略异常 78. 同步访问共享的可变数据 79....对于实例控制,枚举类型优于 readResolve 90....4.1 用构造器自动初始化 4.2 方法重载 4.3 清除:收尾和垃圾收集 4.4 成员初始化 4.5 数组初始化 4.6 总结 4.7 练习 第5章 隐藏实现过程 5.1 包:库单元 5.2 Java...二、工具、框架和环境 三、红绿重构——从失败到成功,直到完美 四、单元测试——关注你做了什么,而不是已经做了什么 五、设计——如果它不可测试,那么它就设计得不好 六、模拟——删除外部依赖项 七、TDD

2.5K10

iOS单元测试的那些事儿

iOS单元测试的那些事儿 作为客户端开发,很多时候我们过多的关注于功能的测试,而忽略标准的单元测试。其实,单元测试是保障项目稳定性的最有效且成本最低的测试方式。...越偏向底层服务的代码,越需要使用单元测试来对可靠性进行保障。一旦单元测试覆盖完成,则之后再进行代码优化和迭代的时候则会有引入新问题的几率会大为减小。...Xcode提供了完整的单元测试功能,系统预置的单元测试类和断言也非常方便开发者编写测试代码。除了函数功能测试,性能测试外,也支持进行UI上的单元测试。...某些需要初始化的状态在setup方法中设置。 5. 测试完成后的清理工作在tearDown方法中设置。...虽然页面元素的查找和定位非常繁琐,幸运的是Xcode提供了用户行为录制功能,我们可以将要测试的操作路径录制下来,点击Xcode的如下按钮即可: 录制完成后,此测试用例中会自动生成查找元素和操作的相关代码

1K20

初创团队的 Android 应用质量保障之道

稳定性与内存优化 随着Android技术的发展各种开源库层出不穷,开发一个Android应用已经变得容易了很多。...Ubuntu下搭建Android开发环境 搭建Jenkins持续测试平台 2 单元测试 说到自动化测试,成本最低的应该是单元测试单元测试成本最低,但是收益却非常高。...但是由于国内开发人员对于单元测试认识不多,所以能够写单元测试的开发人员并不是很多,也正因为如此在2015年我才在《Android开发进阶:从小工到专家》的第九章详细讲述了单元测试,也是希望将这些知识尽早的推荐给早期接触...Android开发的同学,因此本文不会再次介绍如何写单元测试。...然后问题显然没有那么简单,在执行压力测试的早期,你很可能在一个连续的时间段内都面临测试失败的问题。崩溃问题比较好查找愿意,那如果在压力测试过程中如果出现了内存泄漏我们怎么知道呢?

1.1K00

详解Android单元测试最佳实践

目的 充分的单元测试就是提高代码质量最有效的手段之一,而单元测试严重依赖代码的可测试性,本文主要通过一个简单的DEMO演示如何对Android原生应用进行单元测试,同时示例代码采用MVP模式以提高代码的可读性和可测试性...简介 在Android原生应用开发中,存在两种单元测试:本地JVM测试和Instrumentation测试。...这种方式运行速度慢,且严重依赖Android运行环境,更适合用来做集成测试 准备 我准备了一个简单的APP,模拟一个耗时的网络请求获得一段数据并显示在界面上,针对这个APP编写单元测试用例并进行本地单元测试...App运行效果 依赖库 依赖库 作用 JUnit-4.12 基础得单元测试框架 Robolectric-3.8 Android SDK测试框架 PowerMock-1.6.6 模拟被测对象依赖的静态方法...Robolectric是一个开源的单元测试框架,能够完全模拟Android SDK并在JVM中运行。

2.4K31

android性能优化

性能低下的现象 游戏:界面很卡,FPS低 搜索性能差 服务器响应速度慢 OS:界面无响应 性能低下的后果:降低用户体验 用户流失 项目失败 引发灾难 … 容易引发性能问题的点 硬件 IO操作 数据库 网络...二是通用的Android性能优化,如同步改异步,各种缓存的使用等 三是应用程序内部的性能优化,如内部逻辑、数据插入及查找、数据结构的安排与组织等 以下部分针对于上述3种类型,分别进行简要说明: 基本优化策略...static/private方法 让访问实例内变量的 getter/setter 方法变成final   避免不需要的 instanceof 操作   避免不需要的造型操作   尽量重用对象   不要重复初始化变量...stringbuffer的容量   不要总是使用取反操作符   与一个接口 进行instanceof 操作   采用在需要的时候才开始创建的策略   通过 StringBuffer 的构造函数来设定他的初始化容量可以明显提升性能...   二维数组比一维数组占用更多的内存空间大概是 10倍计算 SQLite 奇偶判断 实际上,Android本身的Training文档也提供给我们很多可参考的内容,以下仅枚举一些KeyPoint,当然

75250

如何编写高质量的代码

子类实例化时,首先会初始化父类(注意这里是初始化,可不是生成父类对象),也就是初始化父类的变量,调用父类的构造函数,然后才会初始化子类的变量,调用子类自己的构造函数,最后生成一个实例对象。...使用二分查找的首要条件是必须要先排序,不然二分查找的值是不准确的。indexOf方法直接就是遍历搜寻。从性能方面考虑,binarySearch是最好的选择)。...使用valueOf前必须进行校验; (Enum.valueOf()方法会把一个String类型的名称转变为枚举项,也就是在枚举项中查找出字面值与该参数相等的枚举项。...valueOf方法先通过反射从枚举类的常量声明中查找,若找到就直接返回,若找不到就抛出IllegalArgumentException异常)。...不要完全依靠单元测试来发现问题; (单元测试的目的是保证各个独立分隔的程序单元的正确性,虽然它能够发现程序中存在的问题(或缺陷、或错误),但是单元测试只是排查程序错误的一种方式,不能保证代码中的所有错误都能被单元测试挖掘出来

98520

Android开发中的单例模式应用详解

缺点是第一次加载时反应稍慢,也由于Java内存模型的原因会偶尔失败。在高并发环境下也有一定的缺陷,虽然发生概率较小。...下面我们来看看单例是如何被保证的: 首先,在枚举中我们明确了构造方法限制为私有,在我们访问枚举实例时会执行构造方法,同时每个枚举实例都是static final类型的,也就表明只能被实例化一次。...而对于枚举,并不存在这个问题,因为即使反序列化也不会生成新的实例。...更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图...View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》 希望本文所述对大家Android程序设计有所帮助。

78010
领券