新闻资讯 

网联科技新闻资讯,介绍网联科技新闻信息,让大家快速了解网联公司,知道网联科技到底好不好。

网联 > 关于我们 > 新闻资讯

APP开发的注意事项有哪些?

来源:网联科技  |  关键词:|  发布日期:2021年06月17日

开发人员的价值,是通过技术和产品来体现的,对App开发来说,除了实现业务外,最重要的就是开发的速度,质量,以及可维护性,速度决定着你是否能够支撑公司占领市场,质量决定着你是否能够在短时间内站稳脚跟,而可维护性则决

  开发人员的价值,是通过技术和产品来体现的,对App开发来说,除了实现业务外,最重要的就是开发的速度,质量,以及可维护性,速度决定着你是否能够支撑公司占领市场,质量决定着你是否能够在短时间内站稳脚跟,而可维护性则决定着你能否在继续前进的时候保持步调轻快。

  在责任分工方面,业务设计是运营部门和产品经理的工作,不应该由研发来负责,但我要说的是参与,研发(包括测试)应该尽早参与,一方面要提前发现问题,另一方面要指导和建议技术路线。

  研究与设计结合,可以避免许多问题,如通讯压力、加载速度、延迟时间、硬件负载等移动开发所特有的问题,不要指望操作与产品能够像专业研究与开发一样面面俱到,考虑周翔。

  而研发参与设计也可以引导技术路线,比如采用原生App,是混合App还是ReactNative形式,是单用户还是多用户系统,采用何种收费形式等等。

  对于异常,我有以下几点体会:

  提早思考异常处理,在写出正常流程的业务代码之前,先考虑异常,“不务正业,不务正业”,沿着业务流程分支,先处理异常情况,如获得在线数据显示列表,先考虑网络异常,服务器报错,数据失败等异常情况,然后给出相应的提示,最后处理数据正常的情况,你本来要写出正常业务代码和异常处理代码,你只需改变工作的顺序,实际上你投入的开发时间并没有增加,但你的效率大大提高,因为一旦有异常发生,我们可以快速判断异常原因,节省很多时间。

  这也有一个好处,就是在你的思维陷入复杂的业务逻辑之前,先处理相对简单的异常分支,这样可以避免你被业务逻辑搞得心烦意乱之后,再回来处理异常分支时一时的手滑、写错或写漏异常处理。

  孤立后台对接的数据接口,最好不要直接使用后台提供的数据,中间加上一层映射,一方面,如果后台数据出现问题(数据异常、更改字段等等),您可以在映射数据时发现并查找问题;另一方面,也有助于您通过更适合App的数据形式实现数据持久性。

  此外,建议做一个界面输入和检查工具,不管形式如何,但要能够方便地维护前后台界面,最好能够自动检测界面反馈是否正常(服务器负载过大,字段更改,第三方服务过期等)。

  收集、汇总和保存异常信息的数据。

  结构性分层

  在使用框架时,必须考虑到各种因素,包括:性别、年龄、性别、性别、性别、性别、性别、性别、性别、性别、性别、性别、性别、性别、性别。

  个人比较偏爱Mx,有兴趣的可以看看Mx框架的演变,当然Rx的链式编程也不错。

  就结构层次而言,个人拥有以下经验:

  数据层的高度内聚,将与数据读写、网络读写、本地读写、缓存数据等相关的处理,包括模拟数据,集中到数据层,通过回调或链式调用等向业务层抛出数据,通过多版本机制切换模拟数据和真实数据。

  松耦合Activity,接口应该是与业务相关最少的,主要提供了一个显示载体,并且触发了生命周期处理,并且Activity应该很容易被替换掉。

  一个独立且易于测试的业务层,它应该能够实现自动化测试,这一点很重要,即使您不执行自动化测试,编写能够自动测试的代码,也可以帮助您优化代码、抽象抽象和剥离。

  如果控件需要复用,就不要将控件融合到Activity中,而应将其抽象为一个独立的显示控件,这样做既可以解耦合,又方便复用。

  AgileDevelopment中有一条实践原则,就是不要过度设计,开发的价值不在于写出漂亮的代码,而是实现产品并支持其正常运行,在能够实现产品功能的前提下,代码逻辑实际上是越简单越好,简单常常意味着高可靠性+低维护成本,如果将来需要扩展功能,可以通过修改和重构来实现。

  自然地,简单并不代表随便,把事情复杂是容易的,但要做到简单却是困难的。能够做到逻辑清晰,线程安全,存储器安全,又易于修改和扩展,同时,还能保持代码简洁明了,其实反而更考验功力。

  实际上,不但在开发新功能时要避免过度设计,在维护和扩充旧代码时,也要注意,能正常运行的代码,都是好代码,我觉得在维护旧代码时,实际上也适用了开放性的原则,对不得不改,不改的旧代码,是开放的,可以修改;对能正常运行的代码,即使你觉得再丑陋的手痒,也是封闭的,是无法修改的。

  一般而言,程序员看自己一个月前写的代码,是完全不熟悉的,我也一样,基本上一个月后就没有印象了,但如果要修改/扩展呢,这时,就要看代码注释了。

  在一个人的经历中,有这样几个地方,必须写上注释:

  界面,尤其是Myspace的Contys界面,它基本上定义了你的主要业务行为,谁来载入数据,谁来显示数据,谁触发下一个动作,这些内容写清楚了,以后再读代码,只要看看界面就知道主要业务是怎么回事。

  服务、广播等,由于没有接口,很容易游离于业务逻辑链之外,在业务逻辑中缺少上下文,因此必须有详尽的业务场景注释。

  初始化、注入等,如果定制了一些扩展功能或控件,需要执行某些初始化函数,或者需要注入特定功能,则必须写下注释,提示调用方进行必要的操作。


(Admin)
高新科技企业

2015-2023 长春市网联科技有限公司