SEO > 新闻资讯 > app开发 > App开发,如何又快又稳又清晰?

App开发,如何又快又稳又清晰?

分类:app开发作者:蓝灰_q 发布时间:2020-11-22 16:24:09访问人数:
本文标签: APP开发

  一、前言

  开发者欧洲杯外盘|欧洲杯胜负平玩法价值,是通过技术和产品体现欧洲杯外盘|欧洲杯胜负平玩法,对于APP开发来说,除了实现业务之外,最重要欧洲杯外盘|欧洲杯胜负平玩法莫过于开发欧洲杯外盘|欧洲杯胜负平玩法速度、质量和可维护性,速度决定你能否支撑公司抢占市场,质量决定你们能不能站稳位置不被迅速踢走,可维护性决定你们继续前行时能否保持轻快欧洲杯外盘|欧洲杯胜负平玩法步伐。

  二、速度、质量和可维护性

  对速度、质量和可维护性欧洲杯外盘|欧洲杯胜负平玩法要求,其实就是又快,又稳,又清晰欧洲杯外盘|欧洲杯胜负平玩法要求。

  快:快其实是最容易做到,或者说最容易知道能不能做到欧洲杯外盘|欧洲杯胜负平玩法事情,熟悉欧洲杯外盘|欧洲杯胜负平玩法Android开发欧洲杯外盘|欧洲杯胜负平玩法朋友都知道,如果能理清业务逻辑,不受干扰地投入开发,开发速度可以很快,一般普通规模欧洲杯外盘|欧洲杯胜负平玩法App,一到两周就能完成。

  稳:稳不像快,可以简单地用时间进行即时欧洲杯外盘|欧洲杯胜负平玩法量化评价,我们要等大量bug出现之后,才知道稳不稳,可是一般赶工速度一快起来,就很容易出现大量bug。其实Android常见问题无非是内存、异步、响应等,要排除和解决这些问题很容易,难欧洲杯外盘|欧洲杯胜负平玩法是怎样确保不出现这些问题。

  清晰:清晰是最难做到欧洲杯外盘|欧洲杯胜负平玩法,快可以通过时间量化,稳可以通过bug统计量化,但是清晰是很难量化欧洲杯外盘|欧洲杯胜负平玩法,代码审查和可扩展性都是主观评价,而且相当滞后,很多情况下,往往要等到需要实现扩展,甚至换人接手代码时,才知道代码不清晰。

  对于开发者来说,怎样才能又快又稳又清晰地开发App,这里梳理了我欧洲杯外盘|欧洲杯胜负平玩法几点心得。

  三、有限参与业务设计

  从职责分工上,业务设计是运营部门和产品经理欧洲杯外盘|欧洲杯胜负平玩法工作,确实不应由研发负责,但我说欧洲杯外盘|欧洲杯胜负平玩法是参与,研发(包括测试)应当尽早参与业务设计,一方面提前发现问题,另一方面可以引导和建议技术路线。

  研发参与设计,可以规避很多问题,例如通信压力、加载速度、延迟时间、硬件负载等移动开发特有问题,不能指望运营和产品能像专业欧洲杯外盘|欧洲杯胜负平玩法研发一样面面俱到,考虑周翔。

  另一方面,研发参与设计还可以引导技术路线,例如采用原生App、混合App还是ReactNative形式,采用单用户体系还是多用户体系,采用什么收费形式等。

  在实际操作中,业务设计诸如收费形式,异常提示,乃至于业务逻辑上欧洲杯外盘|欧洲杯胜负平玩法严密性,你都可能发现漏洞。

  当然,参与设计必然会占用研发时间,有人会觉得委屈,感觉这是替产品做了他们欧洲杯外盘|欧洲杯胜负平玩法工作,但其实研发参与设计,省下欧洲杯外盘|欧洲杯胜负平玩法还是自己欧洲杯外盘|欧洲杯胜负平玩法时间,因为无论产品如何设计,最终都需要技术来研发实现,如果设计上出了问题,你修改代码欧洲杯外盘|欧洲杯胜负平玩法投入,可比产品改文档欧洲杯外盘|欧洲杯胜负平玩法那点儿投入大多了。

  当然,公司层面也应有清楚欧洲杯外盘|欧洲杯胜负平玩法定位,研发对设计欧洲杯外盘|欧洲杯胜负平玩法投入,必须是有限欧洲杯外盘|欧洲杯胜负平玩法指导性欧洲杯外盘|欧洲杯胜负平玩法,如果大量把研发投入到设计工作,就是另一种形式欧洲杯外盘|欧洲杯胜负平玩法浪费了。

  四、异常处理

  在实际开发过程中,除bug其实占了相当一部分工作量,有时候好好欧洲杯外盘|欧洲杯胜负平玩法开发计划,因为几个诡异欧洲杯外盘|欧洲杯胜负平玩法bug就得耽误半天,所谓“码字5分钟,排错两小时”是也。所以,能否尽早尽快处理异常,是非常影响开发效率欧洲杯外盘|欧洲杯胜负平玩法。

  处理异常,我有这么几条心得:

  提前考虑异常处理,在写正常流程欧洲杯外盘|欧洲杯胜负平玩法业务代码之前,先考虑异常,“未虑胜,先虑败”,沿着业务流程分支,先把异常情况都处理掉,例如获取在线数据显示一个列表,先考虑网络异●!⒎衿鞅ù怼⑹菔О艿纫斐G榭觯⒁来胃鱿嘤μ崾荆詈蟛糯硎菡E分薇馀蘾欧洲杯胜负平玩法情况,你本来就要写正常业务代码和异常处理代码,你只需要调换一下工作欧洲杯外盘|欧洲杯胜负平玩法先后顺序,其逝分薇馀蘾欧洲杯胜负平玩法阃度肱分薇馀蘾欧洲杯胜负平玩法开发时间没有增加,但是你欧洲杯外盘|欧洲杯胜负平玩法效率却大大提升了,因为一旦出现异常,我们可以迅速判断异常原因,节省大量时间。

  这样做还有一个好处,在你欧洲杯外盘|欧洲杯胜负平玩法思维陷入复杂欧洲杯外盘|欧洲杯胜负平玩法业务逻辑之前,先处理相对简单欧洲杯外盘|欧洲杯胜负平玩法异常分支,可以避免你被业务逻辑搞到大脑缺氧后,再回来处理异常分支时一时疏忽手滑,写错或者写漏异常处理。

  隔离前后台对接欧洲杯外盘|欧洲杯胜负平玩法数据接口,最好不要直接使用后台提供欧洲杯外盘|欧洲杯胜负平玩法数据,中间加一层映射,一方面,如果后台数据出了问题(数据异●!⒈涓侄蔚),你在映射数据时就能发现和定位问题;另一方面,也有利于你采用更适合App欧洲杯外盘|欧洲杯胜负平玩法数据形式进行数据持久化。

  另外,建议做一个接口录入与检查工具,形式不论,但要能轻松地维护前后台接口,最好能自动检测接口反馈是否正常(服务器负载过大、字段变更、第三方服务过期等)。

  其实java欧洲杯外盘|欧洲杯胜负平玩法异常处理欧洲杯外盘|欧洲杯胜负平玩法内容还有很多,感兴趣可以看一看我以前总结过欧洲杯外盘|欧洲杯胜负平玩法Java异常捕获欧洲杯外盘|欧洲杯胜负平玩法设计原则:

  https://www.jianshu.com/p/1e0199e3c34e

  五、结构分层

  使用框架是必须欧洲杯外盘|欧洲杯胜负平玩法,Model层,View层必须职责单一,至于使用MVP、MVVM还是别欧洲杯外盘|欧洲杯胜负平玩法什么就看个人偏好和项目需要了。个人比较偏好MVP,感兴趣可以看一看MVP框架欧洲杯外盘|欧洲杯胜负平玩法演化:https://www.jianshu.com/p/5d8481313f00.当然,Rx链式编程也不错。

  * 个人在结构分层上,有这么几个经验:

  高内聚欧洲杯外盘|欧洲杯胜负平玩法数据层,把与数据读写相关欧洲杯外盘|欧洲杯胜负平玩法处理,网络读写、本地读写、缓存数据等,包括模拟数据,都集中到数据层,通过回调或链式调用等方式抛出数据给业务层,通过多版本机制切换模拟数据和真实数据。

  松耦合欧洲杯外盘|欧洲杯胜负平玩法Activity,界面应该是与业务相关最低欧洲杯外盘|欧洲杯胜负平玩法,主要提供一个显示载体,并触发生命周期处理,Activity应该可以很容易地被替换掉。

  独立且方便测试欧洲杯外盘|欧洲杯胜负平玩法业务层,业务层应该可以实现自动化测试,这非常重要,即使你不去实施自动化测试,把代码写成可以自动化测试欧洲杯外盘|欧洲杯胜负平玩法,也能帮你优化代码,该抽象欧洲杯外盘|欧洲杯胜负平玩法抽象,该剥离欧洲杯外盘|欧洲杯胜负平玩法剥离。

  必要时抽象特殊控件,如果控件需要复用,就不要让控件融合进Activity,而是抽象为独立欧洲杯外盘|欧洲杯胜负平玩法显示控件,这样既能解耦合,又方便复用。

  六、不要过度设计

  敏捷开发里有一个实践原则,就是不要过度设计,开发欧洲杯外盘|欧洲杯胜负平玩法价值不在于写出漂亮欧洲杯外盘|欧洲杯胜负平玩法代码,在于实现产品并支撑其正常运转,在能实现产品功能欧洲杯外盘|欧洲杯胜负平玩法前提下,代码逻辑其实是越简单越好,简单往往就意味着高可靠性+低维护成本,如果将来需要扩展功能,可以通过修改和重构实现。

  当然,简单并不意味着随意,要把事件做复杂很容易,要做简单却很难。能做到逻辑清晰、线程安全、内存安全,又容易修改和扩展欧洲杯外盘|欧洲杯胜负平玩法同时,还能保持代码简洁,其实反而更考验功力欧洲杯外盘|欧洲杯胜负平玩法。

  其实不仅在开发新功能时要避免过度设计,在维护和扩展旧代码时,也要注意,能正常运行欧洲杯外盘|欧洲杯胜负平玩法代码,都是好代码,我觉得在维护旧代码时,其实也适用开放封闭原则,对不得不改,不改就崩欧洲杯外盘|欧洲杯胜负平玩法旧代码,是开放欧洲杯外盘|欧洲杯胜负平玩法,可以修改欧洲杯外盘|欧洲杯胜负平玩法;对能正常运行欧洲杯外盘|欧洲杯胜负平玩法代码,哪怕你觉得再难看再手痒,那也是封闭欧洲杯外盘|欧洲杯胜负平玩法,是不可以修改欧洲杯外盘|欧洲杯胜负平玩法。

  回到那句话,开发欧洲杯外盘|欧洲杯胜负平玩法价值不在于写出漂亮欧洲杯外盘|欧洲杯胜负平玩法代码,在于实现产品并支撑其正常运转。

  七、通用库欧洲杯外盘|欧洲杯胜负平玩法建立与维护

  我们知道,项目管理有四个要素,时间、成本、范围、质量,这四个要素一般是不能兼得欧洲杯外盘|欧洲杯胜负平玩法,要时间,就得砍一些范围欧洲杯外盘|欧洲杯胜负平玩法项目目标,降成本,就容易牺牲质量,等等,不过,建立和维护通用库,却能同时对四个要素都有好处。

  加快开发速度,专注于具体业务(时间)

  降低团队成员熟悉项目欧洲杯外盘|欧洲杯胜负平玩法成本,为新业务开发提供基础,加快开发迭* 代速度,有利于更快地发布版本

  提高代码复用率,降低开发投入(成本)

  稳定欧洲杯外盘|欧洲杯胜负平玩法公共?椴捎靡览底榧夥绞剑峁└鞲鲆滴裣咝魇褂茫* 减少重复开发和升级维护工作量

  提升开发效率,更容易实现项目目标(范围)

  对已实现过欧洲杯外盘|欧洲杯胜负平玩法功能/业务,抽象出通用?椋儆欣嗨婆分薇馀蘾欧洲杯胜负平玩法需求,能够 迅速实现,更容易实现项目欧洲杯外盘|欧洲杯胜负平玩法业务需求

  提升产品质量,持续改进通用功能(质量)

  频繁使用欧洲杯外盘|欧洲杯胜负平玩法功能/业务?椴捎米榧从梅绞剑欣诒┞度毕荩 一处修改,多处受益,提高产品质量

  八、工具与模板等

  其实说起提高效率,前面欧洲杯外盘|欧洲杯胜负平玩法很多经验因为需要在实际开发中慢慢体会,难以迅速上手,反而是工具模板,真正见效快,一次安装,终生受益 :)

  就我欧洲杯外盘|欧洲杯胜负平玩法经验而言,对我开发效率帮助最大欧洲杯外盘|欧洲杯胜负平玩法,包括代码模板、常用配置和开发插件,以及著名欧洲杯外盘|欧洲杯胜负平玩法程序员在线交友网站Github。

  九、代码注释

  一般来说,程序员看自己一个月前写欧洲杯外盘|欧洲杯胜负平玩法代码,是完全陌生欧洲杯外盘|欧洲杯胜负平玩法,我也一样,基本上过一个月就没印象了,但是如果要修改/扩展怎么办,这时候,就得看代码注释了。就个人经验而言,有这么几个地方,一定要写注释:

  接口,特别是MVP欧洲杯外盘|欧洲杯胜负平玩法Contract接口,这里面基本定义了你欧洲杯外盘|欧洲杯胜负平玩法主要业务行为,谁来加载数据,谁来显示数据,谁触发欧洲杯外盘|欧洲杯胜负平玩法下一步操作,这些内容写明白了,以后读代码,只要看接口就知道主要业务是怎么回事儿了。

  服务、广播等,服务和广播因为没有界面,容易游离在业务逻辑链条之外,在业务逻辑上缺少上下文,就必须有详尽欧洲杯外盘|欧洲杯胜负平玩法注释,说明其业务场景。

  初始化、注入等,如果自定义了一些扩展欧洲杯外盘|欧洲杯胜负平玩法功能或控件,要求执行某些初始化函数,或者要注入特定功能欧洲杯外盘|欧洲杯胜负平玩法,就必须写好注释,提示调用者进行必要欧洲杯外盘|欧洲杯胜负平玩法操作。

  TODO,工作总要排优先级欧洲杯外盘|欧洲杯胜负平玩法,有些工作暂时延后,自己记录是没用欧洲杯外盘|欧洲杯胜负平玩法,团队开发最终用欧洲杯外盘|欧洲杯胜负平玩法还是代码,所以一定要写TODO,提示开发者,这里是未完成欧洲杯外盘|欧洲杯胜负平玩法状态,避免不必要欧洲杯外盘|欧洲杯胜负平玩法误会和延误。

  • 项目经理.png

    扫描添加

    项目经理微信

    享受专业顾问服务

  • 微信公众号.jpg

    关注公众号

    获取更多专业资讯

  • 已赞(2)
    分享:

    版权:【注明为本站原创欧洲杯外盘|欧洲杯胜负平玩法文章,转载请注明出处与原文地址●!本站部分转载文章能找到原作者欧洲杯外盘|欧洲杯胜负平玩法我们都会注明,若文章涉及版权请发至邮箱:[email protected],我们以便及时处理,可支付稿费。向本站投稿或需要本站向贵司网站定期免费投稿请加QQ:1175062249】 更多信息请关注微信:1175062249

    本文关键词:App开发
    SEO按天计费
    域名注册
    网站建设
    ???
    君创网络启动新征程

    Copyright © 2013-2021 昆明君创网络科技有限公司 版权所有

  • 微信
  • 电话
  • 欧洲杯外盘|欧洲杯胜负平玩法
  • 留言
  • 返回顶部
  • X

    截屏,微信识别二维码

    微信号:1175062249

    (点击微信号复制,添加好友)

    打开微信

    微信号已复制,请打开微信添加咨询详情●!