软件开发过程中,速度和质量的追求与统一,完美app基本特性。

简介: 软件开发过程中,速度和质量的追求与统一,完美app基本特性。

高速度和高质量是我们软件开发人员的追求。我们都想写代码既快又好,但是现实是很难两者兼顾,那是理想很难实现。按照这两个基本要素来对程序员进行分类:

一.做的既快又好的;二.做的好但是慢的;三.做的既慢又差的;四.做的快但是很差的。

俗话说慢工出细活,做得越多问题。千行代码有一个bug很正常,没有bug的软件只能说明你测试不充分或设计错误(如:只打印一个hello world)。所有开发软件质量最好的只会出现在第二类人中。做的最快的是第四类人,考虑的少,当然做的快。对软件危害最大的人也是最四类人。本来做的越多问题越多,再有出问题多的人开发,当然问题更多。这类人有可能出现极端现象,开发一个功能,做这个功能的时间比修改这个新功能的时间还少的多。在软件行业最容易淘汰的人就是第四类人,其次是第三类人。至少做的慢又差的人做的没有那么多,问题也没有那么多,做得慢,所以有很多补救的时间,所以质量虽然差,也比第四类人开发的软件质量高。第一类人是我们的追求,通常这类人的全局观比较好,不想加班,最后最容易进阶为领导。所以一直做程序员的第一类人十分少,当然由于做的快,一般质量很难和第二类人比,但是这类人的速度和质量的平衡是最好的。慢工出细活,所以第二类人开发的软件质量最好,随着年龄的增长,由于考虑的问题更多,所以开发软件的质量反而越慢。最后大龄程序员第二类人最多,他们也有提高速度的方法:加班。

这四类人之所以差异那么大,主要是由性格和做事方式决定的,其次才是工作经验。一般很难转变。你别指望第二类人快速变成第一类人,也别指望第四类人快速变成第一类人。这是不现实的,不是想改就改变的。有得必有失,有失必有得。


实现一个app并不难,但是做一个完美的app是需要大量时间和精力。一般老板不会给你大量实现来完成一个app,老板追求的是速度第一,质量也要好。我们程序猿一直做的就是在速度和质量之间来平衡。若老板给的时间还算充足可以一步到位实现app,采用最新的架构(如MVVM架构,采用该架构写的代码一般拆分的比较细,通常很费时间。但是代码清晰性也好的多,一般性能也要好的多)。当然若老板给的时间很短或超级短,只能先用最快的方法上线app(时间少到一定程度,甚至采用甚至不还不如mvc的流水线式模式,如采用FMBaseiOSKit开发),然后通过重构再改架构,达到app的逐渐完美。后者比前者更费时间。

完美的app:内存最小,包最小,性能更快,耗电量更低,启动最快,请求耗时最低,页面完过渡完美。这些决定了速成app的技术和架构不适合开发这种高性能的app,这种app不是通过不断修改bug达到的,是采用了较复杂的架构实现。使用的技术有:废弃开发快长驻内存的单例请求方式,采用发送一次请求创建一个请求对象的mvvm模式,页面弹出时,对象自动释放。采用网络请求的网关模式,维护了网络请求通道,减少创建tcp/IP网络通道的时间,统一对网络请求进行数据转换和参数设置。合并请求(业务无关页面相关的请求,后台建立中间层,把几个业务无关的请求合并成功统一发送给app。毕竟后台之间是局域网,基本不会出现丢包,而app和后台间是不稳定的移动网络,随时都可能断网),防止出现加载一个页面需要发送多给请求,这样既费电,加载又慢,容易出错。采用懒加载方式,提高app启动速度和页面过渡效果。


目录
相关文章
|
Android开发 Swift iOS开发
iOS14新特性探索之二:App Widget小组件应用(一)
iOS14新特性探索之二:App Widget小组件应用
478 0
iOS14新特性探索之二:App Widget小组件应用(一)
|
3月前
|
数据安全/隐私保护 UED
物业管理收费APP软件开发发展前景
随着城市化和智能化趋势,物业管理行业借助收费APP实现转型,提升效率和业主体验。APP功能包括:故障报告与维修评价,账单查看与在线支付,信息通知推送,社区市场交易,投诉建议平台,快递代收服务,以及社区互动圈。尽管面临数据安全、标准统一和技术创新等挑战,物业管理APP仍展现出广阔发展前景。寻求开发合作可联系相关人员。
|
5月前
|
机器学习/深度学习 搜索推荐 算法
实现手机 app 千人千面的特性,背后有哪些机器学习算法
实现手机 app 千人千面的特性,背后有哪些机器学习算法
|
安全 数据处理 UED
体育直播APP软件开发所需要的必要条件,使用源码开发系统可靠性
近年来体育直播平台观看比赛形式的崛起,开发一款功能其全、用户友好的体育直播平台早已成为各大企业和开发者的目标。下面我们就详细介绍体育直播平台开发设计所需要的必要条件,并讨论使用源码开发系统可靠性。
|
5月前
|
移动开发 前端开发 开发工具
智慧校园信息化H5端App的软件开发设计文档
智慧校园信息化H5端App的软件开发设计文档
94 0
|
5月前
|
XML 传感器 监控
Harmony Ble蓝牙App(三)特性和属性
Harmony Ble蓝牙App(三)特性和属性
106 0
|
5月前
|
传感器 监控 物联网
Android Ble蓝牙App(三)特性和属性
Android Ble蓝牙App(三)特性和属性
|
5月前
|
安全 区块链 云计算
期权合约交易软件开发/秒合约系统APP
智能合约运用了分布式账本技术、加密算法技术、计算机语言技术和分布式计算技术
|
存储 自然语言处理 安全
软件开发交易平台-猪八戒网APP定制/模板开发/二次开发
 数字货币交易所系统开发的优势都在哪里呢?数字货币交易所主要以数字货币作为交易对象,围绕其所形成的交易模式和场景研发的不同种类的交易所平台, 主要包括传统的币币交易、OTC法币交易、杠杆交易、合约交易、止盈止损等特色交易平台。下面是我们对数字货币交易所系统开发优势的介绍,来看看吧!
|
JavaScript Java API
合约一键跟单带单app开发|api一键合约跟单交易平台软件开发规则介绍|合约跟单社区系统定制详情
合约一键跟单带单app开发|api一键合约跟单交易平台软件开发规则介绍|合约跟单社区系统定制详情
下一篇
无影云桌面