项目复审

想必敲过代码有段时间的人都知道,越往后写了,就会发现之前写的会有很多不足,现在我就是罗列一些自己过去常有的不足之处。

1.注释。在以往,敲代码就敲代码,自己懂就行,现在回顾那些曾经的demo,因为没有注释,所以自己看都费事,好不容易找了有注释的,

却是点不到位,不贴切。有注释不仅方便自己,也方便合作的同伴。

try {
                    //创建URL对象
                    URL url = new URL(surl);
                    //返回一个URLConnection对象,它表示到URL所引用的远程对象链接
                    httpURLConnection = (HttpURLConnection) url.openConnection();
                    //请求所需要的apikey
                    httpURLConnection.setRequestProperty("apikey", SystemConfig.BAIDU_APIKEY);
                    //设定请求方法,默认是GET方法
                    httpURLConnection.setRequestMethod("GET");
                    //设置连接超时时间
                    httpURLConnection.setConnectTimeout(10000);
                    //设置读取数据超时时间
                    httpURLConnection.setReadTimeout(5000);
                    //获取响应状态码
                    int responseCode = httpURLConnection.getResponseCode();
                    if (responseCode == 200) {
                        //定义一个输入流,获取服务器返回的数据
                        InputStream is = httpURLConnection.getInputStream();
                        InputStreamReader isr = new InputStreamReader(is);
                        BufferedReader br = new BufferedReader(isr);
                        //逐行遍历
                        String request = "";
                        String response = "";
                        while ((request = br.readLine()) != null) {
                            response += request;
                            Log.d("=======>>>>>>>>>", response);
                        }
                        br.close();
                        isr.close();
                        is.close();
                    }
                } catch (MalformedURLException e) {

                    e.printStackTrace();
                } catch (IOException e) {

                    e.printStackTrace();
                } finally {
                    if (httpURLConnection != null) {
                        httpURLConnection.disconnect();
                    }
                }
            }

2.算法。这个在于自己掌握多种方法实现功能时,哪个效率高,需要通过比较,好的算法可以代码简洁,而且事半功倍。

http://www.cnblogs.com/xkfz007/archive/2012/05/17/2506299.html


3.工具包。可能听起来有点偷懒的意思,然而不得不说,在有添加一些工具后,能够大大提高开发的效率。

在这里就例举了butterknife。

Button begin = (Button) findViewById(R.id.beginbtn);
begin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              //实现
            }
        });

一般地,随着项目的量变大,往往控件就会很多,修改会很繁琐,有了butterknife那就简介很多了

@BindView(R.id.begin);
Button btn;
@OnClick(R.id.begin);
void dosomething(){
//实现
}

具体可以参考:http://blog.csdn.net/u013647382/article/details/52002840


4.框架,结构。最初,拿到项目,便是直接想,怎么去实现这个项目里的功能,现在拿到手后,发现可拓展性很差,而且代码很累赘、臃肿。

如果事先考虑框架,项目使用什么的结构,不仅方便编码,也方便了后面使用。

在这里就简单举例而言,比如常用的mvp、Rxjava之类。一定方面真心比mvc好用。(谈不上精通,通过简单的demo凭感觉而言)

 关于mvp的解释与优势:http://www.jianshu.com/p/7c4e310da409


5.测试。 可以说,好的项目离不开测试。测试的目的就是为了发现问题所在。

测试过程以及代码在这里就不上了,具体在我博客的UI测试中。


6.文档。为什么要写文档,起初我也不明白。把代码写得让人看懂了,结构也没问题,那就完事了吗?在敲码人眼中,或许是可有可无的(我是这么想的)

然而它是必要的,因为一个程序做出来是给人用的,你不能保证人人都知道怎么用。那么文档,就可以告诉他们,程序有哪些功能,怎么使用,实现之类。

算是给项目一个‘包装’吧。

 

 

需求文档说明书

 

 

一、前言

 .......................................................................................................... 3

 

1.1

项目介绍

 ......................................................................................................... 

3

 

1.2

名词解释

 ......................................................................................................... 

3

 

1.3

参考资料

 ......................................................................................................... 

3

 

二、需求概述

 

.

.................................................................................................. 3

 

三、用户特点

 

.

.................................................................................................. 4

 

3.1

用户用例图

 ..................................................................................................... 

4

 

3.2

适用人群

 ......................................................................................................... 

4

 

四、假定和约束

 ............................................................................................... 4 

五、需求规定

 

.

.................................................................................................. 4 

5.1

对功能的规定

 ................................................................................................. 

4

 

5.2

对性能的规定

 ................................................................................................. 

4

 

5.3

输入输出要求

 ................................................................................................. 

4

 

5.3

数据管理能力要求

 ......................................................................................... 

4

 

5.3

故障处理要求

 ................................................................................................. 

4

 

5.3

其它专门要求

 ................................................................................................. 

4

 

六、功能结构图

 ................................................................ 

错误!未定义书签。

 

6.1

功能介绍

 ......................................................................................................... 

7

 

6.2

功能业务总流程图

 ......................................................................................... 

7

 

七、功能需求分析

 ............................................................ 

错误!未定义书签。

 

7.1

数据流图

 ......................................................................................................... 

8

 

7.1.1

顶层数据流图

 ...................................................................................... 

8

 

7.1.2

功能级数据流图

 .................................................................................. 

9

 

7.1.3

详细数据流图

 .................................................................................... 

1

0

 

7.2

功能模块

 ....................................................................................................... 

1

1

 

7.2.1

业务功能描述

 .................................................................................... 

1

1

 

7.2.2

业务流程图描述

 ................................................................................ 

1

1

原文地址:https://www.cnblogs.com/fsbr/p/6600242.html