写了一个小工程——总结

来源:互联网 发布:哪里胡杨林最美 知乎 编辑:程序博客网 时间:2024/05/18 15:23

写了一个小工程——总结

5月刚开始,突然受人之托,要做一个网站,实现一些功能,时间比较紧,两个星期而已,然后,我竟然接下来了这个任务。
既然接下来了,那就要尽心尽力完成,写网站,其实我有一些经验,而且要求的功能不多,所以我本来以为可以轻松一点写完,但是我发现我错了,两个星期的时间里,我有大约3天以为自己要失败,交不出成品。

最后,我如期交出了工程,但是,对于并不顺利的过程,我想做一个总结,记录自己在这期间遇到了什么,怎么想得,以及以及如何解决的。这是总结的第一篇——总述,关于前期准备。

第一点:要考虑好工程是什么样,有前期规划

说来,这是软件工程里提到的,而且是入门级别的常识,但是在这次实践中,我犯了相关的错误。
这个错误涉及三点:

  1. 在开始编码之前,我没有想好后端使用什么技术栈:
    原本我以为这个工程比较简单,想使用JSP+Servlet的老方法,然后在编写完entrty和dao的接口后,我写了两个Servlet,就打算转型了,因为Servlet写起来太罗嗦。这个工程内有好几个(大约5个)地方有表单提交,每一个表单提交的字段都不少,如果用Servlet写,需要一个个获取字段,费事费力,而且路由的修改并不灵活,所以后来我就改成了Spring的路子,方便一些,熟悉一些(然后,小项目变大了一点)
  2. 在设计页面前,没考虑过前端要担任多大功能:
    传统的设计中,前端担任的职责很少,只完成展示的功能,有任何更改都通过刷新页面,跳转解决。但是随着前端的发展,前端担任的职责越来越多,通过使用Ajax,前端可以再不刷新页面的情况下完成和后端的数据传递和重新渲染;如果再使用上大前端的技术,甚至可以处理路由的相关操作。而我作为一个接触过前端的人,在写这个工程的时候,并没有想好前端的角色,我熟悉的技术栈里,前端最多有异步刷新数据的功能,而在我写完第一个页面的时候,我发现我把好几块的内容都整合在了一起,企图让前端担起处理路由的职责,但是我还没有能力驾驭这种写法,最后崩盘重写。
  3. 贸然引入新技术:
    还是前端,尽管我接触过前端,但是并不熟练,这次工程中,我贸然使用了一个新的框架layui,并且大量使用先前用的较少的JSON来完成Ajax,这其中就产生了不少调bug的过程,也写了不少坏味道的JS代码。不过效果还是有的,界面的确体验好了不少,我自己都觉的好看,这一点有利有弊。

第二点:不要乐观估计时间

这个问题很麻烦,写一个东西到底要多长时间真不好说,在开始写这个工程的前4天,我一直在写数据库部分和后台部分,忽略了前端,这时我以为进度正按计划推进。知道第一个周末的到来,我打算写一个页面把前后端打通。在此过程中,我对前端页面返了功,并且不知道如何组织前端。那几天,我都觉的自己要掉头发了,烦。
幸而,在之后几天,我换了一种自己能驾驭的方式,修改了前端,才抹平了进度。这个方式,其实就是降级,前端高端的玩法不会,低端的总是会的,再不济,退回表单提交,页面刷新总可以吧(当然,没那么惨)。

第三点:打算从正在写的工程中学到更多

这一点是有别与前两点的正面的一点总结,我之所以接手这个工程,就是打算在编写的过程中学到东西,积累更多实践经验,包括新知识的学习和未知bug的解决,这种可与而不可求的技能,还是要靠实践来锻炼。

0 0
原创粉丝点击