项目复审
想必敲过代码有段时间的人都知道,越往后写了,就会发现之前写的会有很多不足,现在我就是罗列一些自己过去常有的不足之处。
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