遇到一个代码混乱不堪的Android项目该怎么办?

本文作者分享了接手一个代码混乱不堪的Android项目后,如何进行代码优化和重构的过程。从抽象基类、性能优化、代码规范到控件封装,作者提出了实用的改进措施,并给出了在时间和资源有限的情况下进行优化的建议。
摘要由CSDN通过智能技术生成

转载请注明出处:http://blog.csdn.net/asdzheng/article/details/49403155

好久没写博客,这段时间换了工作,有很多事情需要学习和处理,现在终于有点时间来总结这段时间所做的事情。新东家是一家创业不久,正处于上升期的公司,我进去时刚好在扩招了四五人,目的很明显,我去之前也做好准备,上升期的公司应该有很多问题需要我去解决,也做好了应对初期留下各种脏乱代码的的准备;

可想象毕竟是想象,等进到公司,将代码迁移下来一看,尽管心中有备,还是抵不住的内心翻腾倒海脑海中无数只草泥马蹦腾而过,这样的代码也行。下面我就把我看到的代码总结一下:

问题总结

1、 同类型的处理,没有抽象,造成代码冗余

Android项目中最常见的的无非是网络接口请求,不同的业务对应不同的接口,处理流程就是 客户端操作业务 —> 客户端调用接口 –> 服务器接收请求 —> 处理完返回处理结果 —> 客户端接收结果 —> 客户端对结果做处理和显示; 这样一套流程,最常见的方式就是封装一套网络请求框架,业务代码只关注请求时传入对应接口关键字和参数,然后写几个回调方法等着接收数据就好。

但之前我们的框架并不是这样,每调一次接口都要新建两个方法,然后调用和处理代码一般都要写个100-200行模板代码,这框架直接导致的结果是,每个有请求网络的Activity,代码都至少要500行以上,大部分的界面都是上千行规模,可想而知,要熟悉这样的代码得多辛苦。

2、 不考虑性能,代码只要能用就行

例如数据存储,Android其实提供了4种不同的本地存储方式,特点各不相同,各有各得优劣势,适用于不同场景,这不做分析。这四种方式里,我想最容易使用当然是SharePrefences,没错,就是因为它容易使用,APP里的的所有存储都只用它,把它当作万能且用法极不规范。其中一点就是用它来保存大量列表对象,最大的一个数据保存完xml文件直接快100KB,如果要在这数据上做些增删改想想都觉得酸爽,但以前就是这

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 这个说法不完全正确。一个 Android 项目可以包含多个模块,每个模块都可以有自己的代码、资源和依赖库。但是,一个模块只能包含一个 Android 应用程序,也就是说,一个 Android 项目只能有一个主应用程序模块。 ### 回答2: 在一个 Android 项目中,模块是指一个独立的代码单元,可以独立地编译和运行。一个 Android 项目通常包含多个模块,如应用模块、库模块、测试模块等。 然而,根据问题描述,一个 Android 项目只能包含一个模块的情况下,我们可以做出以下解释和推测: 首先,这种限制可能是由项目的特定需求或设计要求所决定的。或许项目的规模较小,只需要一个模块来支持所有功能和特性。这个模块可能包含应用的界面、业务逻辑以及其他功能模块。虽然这样的设计有可能导致代码结构较大或混乱,但对于小型项目来说,它可能是合理且更易于维护的选择。 另一种可能是,项目的架构采用了单一责任原则,即每个模块只负责完成一个特定的功能。这种设计可以实现模块间的高内聚和低耦合,更有利于团队协作和扩展。虽然不同功能的模块分开开发和管理可能会增加一些额外的工作量和复杂性,但这种设计有助于长期项目的可维护性和可持续发展。 无论是哪种情况,我们需要根据具体情境来判断为什么只有一个模块。这种设计决策可能是由项目的需求、团队的技术能力、时间和资源等因素所决定的。无论限制是出于什么原因,关键是在这个限制下,开发团队应该遵守良好的软件工程原则和开发规范,确保代码的质量、可维护性和可测试性,并及时解决项目中出现的问题。 ### 回答3: 在一个Android项目中,通常可以包含多个模块来组织代码和功能。然而,如果限制只能包含一个模块的话,可能会对项目的架构和设计产生一些影响。 首先,只有一个模块的项目意味着所有的代码、资源和功能都被集中在一个地方。这可能会导致代码变得庞大、难以维护和扩展。当新增功能或修改代码时,可能会导致整个项目需要进行大规模的更改,使得开发变得复杂和困难。 其次,只有一个模块的项目可能无法有效地实现代码的重用和解耦。正常情况下,我们可以将一个项目拆分为多个模块,每个模块都有自己的职责和功能。这样,模块之间的依赖关系可以更清晰和灵活。而只有一个模块的项目可能会导致不同功能彼此纠缠,使得代码难以复用和移植。 另外,只有一个模块的项目可能会导致开发团队的协作和管理变得困难。在实际的开发过程中,通常会有不同的开发者或团队负责不同的模块。只有一个模块的项目可能会使得代码的并行开发和测试变得复杂,增加沟通和协调的难度。 综上所述,一个Android项目只包含一个模块可能会给开发带来一些挑战和限制。尽管如此,开发者仍然可以通过良好的架构和设计来尽量减少这些限制带来的负面影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值