最近在跟学院的老师做项目,最开始的时候老师分配了任务,但是当时刚进项目组,很多东西都还不是很清楚,也就稍微把项目的构架和一些需求看了一下,说实话,如果按平时自己做一些小东西的流程,按照这些东西自己基本就上手写代码了,但是老师说不用急着技术上的细节和实现,要先把业务上的需求理清楚,这样后面的工作就好做一些,自己以前上课虽然也听过类似的理论知识,但是自己实际写项目的时候似乎都不是这样,一般都是先上手写代码,然后在不停的踩坑和借鉴别人的代码中慢慢实现。有时候甚至并不能如最开始想的一样实现。所以这次跟着老师写项目,也顺便把自己在开发过程中的一些心得体会记录下来,以此窥探到提高程序开发效率的一些技巧。
1.开发前的准备工作
这部分工作基本上没有怎么编写代码,主要是各种文档以及架构图,并且涉及到一个分工的问题。
-
合适的团队协作工具
我们项目组使用的团队协作工具是teambition,个人使用感觉非常不错,之前跟组队完成课程大作业使用的模式基本都是github+qq群,因为跟小组成员都比较熟悉,所以觉得没什么,但现在使用teambition后,可以很清晰的看到所有人的工作记录,也能非常方便的阅览其他人的笔记或者资料什么的,团队协作感Max。
阿里巴巴工作学习套件
-
架构图+需求文档
这个没啥好说的,想要开发一个好用的软件,需求文档和基本的架构图几乎是必备的。我本人在刚加入项目组的时候也是通过项目的架构图和需求文档快速了解整个项目的基本情况的。
-
初步设计组件数据结构
在没有设计好数据结构之前,各部分的工作基本上都是互有关联的,不能简单的做拆分,因为这样各个组件之间并不能知道他们之间的数据应该怎么对接,如果没有设计好久直接编写代码,很可能在后续项目各部分进行对接时并不能符合要求或者需要重新编写代码,从而拖累项目进度。
以本人项目举例:
需要注意数据结构设计以及数据交互的几个部分主要有手机、组件、Redis。
在没有对数据结构有初步设计时,如果就草草地将这三个部分的任务分发给小组成员,那么有可能就会出现手机传给组件数据,但组件此时还没有对应的处理,或者组件编写了数据的处理,但是处理的对象与手机传过来的数据有一定的出入。反之,如果在项目初期能够初步的设计数据结构,对于初期的工作分解以及后续的项目对接及时发现问题都是很有帮助的。
目前大概处于项目初期,所以暂时就这些经验,后续有时间会继续更新。