写了一个小工程——总结
来源:互联网 发布:哪里胡杨林最美 知乎 编辑:程序博客网 时间:2024/05/18 15:23
写了一个小工程——总结
5月刚开始,突然受人之托,要做一个网站,实现一些功能,时间比较紧,两个星期而已,然后,我竟然接下来了这个任务。
既然接下来了,那就要尽心尽力完成,写网站,其实我有一些经验,而且要求的功能不多,所以我本来以为可以轻松一点写完,但是我发现我错了,两个星期的时间里,我有大约3天以为自己要失败,交不出成品。
最后,我如期交出了工程,但是,对于并不顺利的过程,我想做一个总结,记录自己在这期间遇到了什么,怎么想得,以及以及如何解决的。这是总结的第一篇——总述,关于前期准备。
第一点:要考虑好工程是什么样,有前期规划
说来,这是软件工程里提到的,而且是入门级别的常识,但是在这次实践中,我犯了相关的错误。
这个错误涉及三点:
- 在开始编码之前,我没有想好后端使用什么技术栈:
原本我以为这个工程比较简单,想使用JSP+Servlet的老方法,然后在编写完entrty和dao的接口后,我写了两个Servlet,就打算转型了,因为Servlet写起来太罗嗦。这个工程内有好几个(大约5个)地方有表单提交,每一个表单提交的字段都不少,如果用Servlet写,需要一个个获取字段,费事费力,而且路由的修改并不灵活,所以后来我就改成了Spring的路子,方便一些,熟悉一些(然后,小项目变大了一点) - 在设计页面前,没考虑过前端要担任多大功能:
传统的设计中,前端担任的职责很少,只完成展示的功能,有任何更改都通过刷新页面,跳转解决。但是随着前端的发展,前端担任的职责越来越多,通过使用Ajax,前端可以再不刷新页面的情况下完成和后端的数据传递和重新渲染;如果再使用上大前端的技术,甚至可以处理路由的相关操作。而我作为一个接触过前端的人,在写这个工程的时候,并没有想好前端的角色,我熟悉的技术栈里,前端最多有异步刷新数据的功能,而在我写完第一个页面的时候,我发现我把好几块的内容都整合在了一起,企图让前端担起处理路由的职责,但是我还没有能力驾驭这种写法,最后崩盘重写。 - 贸然引入新技术:
还是前端,尽管我接触过前端,但是并不熟练,这次工程中,我贸然使用了一个新的框架layui,并且大量使用先前用的较少的JSON来完成Ajax,这其中就产生了不少调bug的过程,也写了不少坏味道的JS代码。不过效果还是有的,界面的确体验好了不少,我自己都觉的好看,这一点有利有弊。
第二点:不要乐观估计时间
这个问题很麻烦,写一个东西到底要多长时间真不好说,在开始写这个工程的前4天,我一直在写数据库部分和后台部分,忽略了前端,这时我以为进度正按计划推进。知道第一个周末的到来,我打算写一个页面把前后端打通。在此过程中,我对前端页面返了功,并且不知道如何组织前端。那几天,我都觉的自己要掉头发了,烦。
幸而,在之后几天,我换了一种自己能驾驭的方式,修改了前端,才抹平了进度。这个方式,其实就是降级,前端高端的玩法不会,低端的总是会的,再不济,退回表单提交,页面刷新总可以吧(当然,没那么惨)。
第三点:打算从正在写的工程中学到更多
这一点是有别与前两点的正面的一点总结,我之所以接手这个工程,就是打算在编写的过程中学到东西,积累更多实践经验,包括新知识的学习和未知bug的解决,这种可与而不可求的技能,还是要靠实践来锻炼。
0 0
- 写了一个小工程——总结
- 写了一个小工程——技术思考
- 写了一个小闹钟
- 今天接了一个小的工程
- 新建一个maven工程小总结
- 初学JavaMail,写了一个小程序!!!
- 写了一个小的网站困惑
- 写了一个用来写log信息的小程序
- 今天在写工程时遇到了一个警告
- 用Android写了一个小程序,实现了打电话
- 做了一个辅助登陆vpn的小东东——总结一下
- 程序写了5年了,做个一个总结
- 这几天写了一个小程序后的感想
- 自己写了一个小的计算器···
- 今天写了一个生成静态页面的小代码
- 用VC写了一个bmp图片压缩小程序
- 重新写了一个拼音输入法词库转换小程序
- 学了String写的一个简单的小功能。
- nyoj195飞翔(动态规划)
- reactnative StatusBar状态栏介绍
- 链接规则引发的全局变量的值被改变
- Servlet中的request对象
- ui-sref传递参数报错原因解析
- 写了一个小工程——总结
- QT写一个记事本⑤
- 我这样解决MySQL Server Instance Configuration Wizard无响应
- Win10锁屏壁纸怎么提取保存到本地
- better-scroll实现下拉刷新、上拉加载更多(巨简单...)
- JSP —— 使用referer 请求头防止表单从外部提交,防止从外部登录网站
- HDU 3416 Marriage Match IV(最短路+最大流)
- 实验6 makefile文件
- DHCP数据包捕获