博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目开发总结
阅读量:5891 次
发布时间:2019-06-19

本文共 1548 字,大约阅读时间需要 5 分钟。

有时候一些奇怪的想法会突然出现在脑海中,那一瞬间仿佛有所领悟

概况

本篇中所分析的所有内容都是以中小型项目为前提的,iOS,Android,Server这3端开发人数不超过20人。由于我本身是做iOS的,因此,会从一个iOS开发者的角度来剖析问题。不一定百分百正确。

设计

产品经理已经设计了app的大部分功能,一些交互上的细节肯定不可能完全设计出来。往往这些被忽略的交互设计会在程序员编码过程中,造成很大一部分时间的浪费。

因此,需要有一个方案上的设计,这个设计的主要目的就是处理项目中产品方面的临时变更。

在真实开发中,最经常出现的一个场景就是遇到这访问的问题去问产品,产品当时记住了,可能过段时间就忘了。这些产品方面的问题最少哟通知到跟该项目开发相关的所有人,如果到了测试阶段,还需要修改交互设计,那么上述的设计就是有问题的。

产品设计是开发前期最重要的一个环节,假定我们已经有了一个良好的设计,那么接下来,需要让项目开发的相关人员对必须对产品有一个清楚的了解。

还是那句话,在这个阶段,让开发人员把问题精确到每一个if上,肯定不现实,但通过大家的头脑风暴后,大部分隐藏的问题和冲突都能被发现。

对于app界面的设计人员,需要制定一套统一的设计方案,方案中应该包含整体设计的风格,统计出有多少需要设计的界面。后续的分工会在任务分解中给出解释。

后台开发应该和移动端开发共同制定一份数据交互规则。

说点题外话,我一直觉得不管是写后台还是移动端,整体框架的良好设计能够给程序带来巨大好处。每个人写代码的风格千差万别,有的时候同一份数据需要创建好几个模型,这几个模型大部分的属性都是相同的,想想,这对于开发和代码优化会带来多大的阻力。

我个人认为,如果后台开发,以模型为单位组织数据,会给移动端开发带来极大的便利性。最好有一个人能够专门维护一个属性池,大家所有的属性都在这个池子里获取,从而就能够避免各种冲突了。

简单说说iOS端的设计,基本的文件目录结构的设计,咱们就不提了,这都是最最基本的要求。网络层的设计也不提,每个公司都会有这方面的封装库。我们首先来探讨下模型的设计:

最单纯的模型就是用来存储数据和提供数据的。如果控制器中的逻辑很复杂,最好写一个处理控制器与数据模型逻辑的管理类,数据的处理全都封装在这个管理类之中,控制器拿到处理好的处理,去轻松的完成他的任务。上边的管理类是一个核心思想,相信有经验的开发者应该明白。

对于存储的设计应该有一个统一的类去管理,数据的持久化不应该随随便便的散落在代码中的各个角落。这个管理类负责了数据存储的读取和写入,以及稳定性的考验。

除了网络,模型,存储,就剩下控件的设计了,控件的设计就一句话,把你写的每一个控件都当做一个小的组件来写。每一个控件都不应该是仅仅基于当前的一个小的需求考虑的,最起码从其他开发人员也会使用这个角度去考虑问题。

在真实开发中,我发现一个小小的问题,即使组件的接口写的很简单,别人也不一定会用,因此,这些组件应该需要一份文档来描述它的使用方法,一个很好的例子就是github。

上边描述的种种都是基于理论方面的内容,需要在开发中慢慢体会。

任务分解

任务分解同样是一份很有技术含量的活,对于一个大型的建筑项目,中小app的开发真的不算什么。

根据每个人的个人能力,把不同的模块,不同的功能指定给合适的开发人员。

最难的事情

我个人认为能够处理好上述的问题的人选一定是架构师,一个良好的设计,一个高度可维护的设计都应该是架构师必备的技能包。

但我认为,在开发中让所有的人的技术提高是一件很难的事情,正是由于技术水平的不一样,才产生了开发中的各种障碍,这里就不多说了。

总结

通过这个项目,我个人得到的领悟就是设计非常重要

转载地址:http://trysx.baihongyu.com/

你可能感兴趣的文章
JQuery入门(2)
查看>>
[小白技巧]在Ubuntu 14.04中,如何从Unity启动器上移除盘符图标
查看>>
POI导出JavaWeb中的table到excel下载
查看>>
只有数据分析师才能看懂的十大吐槽
查看>>
《无人机DIY》——4 制作四轴直升机I:选择 机身 
查看>>
《单页Web应用:JavaScript从前端到后端》——1.3 精心编写的单页应用的用户效益...
查看>>
 百度推广:下拉框与相关搜索优化分析
查看>>
《Android游戏开发详解》一1.3 声明和初始化变量
查看>>
Go程序设计语言2.1 名称
查看>>
Git 系列(四):在 Git 中进行版本回退
查看>>
storm集群的监控
查看>>
《Android Studio应用开发实战详解》——第1章,第1.3节Android系统架构
查看>>
记录一些React的一些细节,会不断更新
查看>>
自己常用的mixin(持续更新)
查看>>
[译] 移动技术在改善财务健康方面的作用
查看>>
播放音频的工具类
查看>>
iOS面试题03-原理篇
查看>>
JavaScript 基础之原型和原型链
查看>>
jvm逃逸分析
查看>>
数组、字符串常用方法
查看>>