暑期实践

暑期实践小结

1.完成的工作

今年七月十五号到八月十五号在深圳风云互联待了一个月,由于我能在的时间比较短,所以也无法真正的跟进一个完整的项目,因为我也不是一来就能直接上手干活,再者,即使勉强做完,今后的沟通和维护也可能会因为我在学校也不方便去做。
来的前五天重新复习了一下之前做的学生信息管理系统,之后的二十天完成了一个简单的CRM(客户关系管理系统)。这两个系统的本质都是数据的增删改查以及展示。

2.完成的过程
(1)学生信息管理系统

这个小项目之前在学校里也算是完成了基本功能,但好久没用过Go以及js了,权且当做复习。有一个别人写好的给我当做参考,但自己总想着尝试用不同的方式完成,并且去掉他不必要的功能代码,然而事实证明这种想法是白痴。初步完成的时候,我是把数据库操作和后台操作放在了同一个函数内,也就是说一个后台操作中,直接写了完整的数据库操作,应当分离。当时也并不理解ajax的作用,ajax是用来传递数据给后台程序然后用来做后端数据验证的,后端数据验证是以防有人修改页面的数据从而跳过js验证。如果不使用ajax,后端的验证结果或者后端想要传递给页面的数据根本无法被页面接收。自己的代码也没有加入防SQL注入功能。最后,界面并不美观(个人真的很不喜欢写界面,虽然好看的界面必然会带来更好的用户体验)

(2)CRM

这个项目可以算是一个较为完整的项目,方便的地方是给我提供了一个框架,封装了很多基本的方法,比如数据库的操作,界面的许多控件等等。当然这些只是一些外表的东西,这个框架还提供了很多很方便的功能,我想再个另写一篇文章分析一下这个框架,目的在于剖析底层功能的实现。
回过头来看,其实这个项目的逻辑基本没有什么多复杂的地方,数据库的联查也只有一两张表,但一开始的进度非常慢,主要是对这个框架不熟悉,自己尝试着看这个框架内部的实现,结果有点懵,神奇的是我虽然不知道它是怎么实现的,但我还是完成了功能,主要原因可能是我需要实现的功能比较简单,并且有另外一个系统作为参考。熟悉了框架的基本功能之后,进度却还是快不了,这里主要是自己的调试方法有问题。遇到错误的时候,应当先查看错误堆栈信息,堆栈会给出程序的执行顺序,方便你找出具体是哪个方法出了错。另外,如果涉及到数据库的操作,可以把堆栈中的数据库语句直接贴到MySql中执行看会出现什么,想我那时只会检查要查询的列是否存在,实在不行。熟悉了框架了调试技巧后,进度就快了很多,基本很多功能(不复杂)很快就能实现。

3.小的体悟

(1)工作中的项目,是为了完成功能,遇到问题第一想法是去寻找是否有现成的功能拿来用。但开源的项目并不是为你定制的,很多方面可能并不满足你的项目要求。这就要求我们首先在选取哪个开源项目时慎重,尽量选关注度较多的,因为关注的人多代表使用的人多,你碰到的问题可能别人在使用时也碰到,不需要你自己去踩很多坑。能满足需要最好能选取一些较小的项目,改起来阅读起来都相较容易。选取之后,一个优秀的开发人员应当具有二次开发的能力,能改的动,最好不要直接对拿来的项目修改,尽可能在自己的代码中修改。因为如果别人的项目一更新,你还需要记住你改了哪些地方,再去修改,搞不好会造成功能都不能用了。
(2)不要认为别人的代码是白痴,如果这个人稍微靠谱,那么他写这段代码的时候必然有他当时的考虑,尽管我们也无法知道他当时为什么这么写,但我们应当尝试去理解,不能抱着一颗我就是要重写的想法,你可能会发现你最后和这个人写的别无二致。
(3)在现有的框架下完成功能,第一想法应当是使用框架现有的功能区拼凑,如果实在难以拼凑或者过于麻烦,那么我们可以自己重新用自己的方式完成这个功能。
(4)编程是互通的,只有不断地尝试写新的功能,做有挑战性的工作,并且不断反思的代码,找改进点才能提高自己的代码速度与代码质量。一切写的烂原因都是一句“写的太少!”。
(5)做项目和自己学习是相辅相成的,做项目可以提高自己的代码感觉,并把知识投身实际,融会贯通,但一味的做项目,不去学习,你会发现你只是一种“野路子”,很多方面会觉得很吃力;当然,只看书本不去实践,对书本的东西也很难真正体会。

4.进阶方向
(1)阅读框架中应用的router中路由功能的实现;
(2)阅读框架中公共库library中功能的实现;
(3)进阶数据库知识,不注重数据库原理,注重数据库查询语句的练习;
(4)进阶tcp/ip协议,http协议,注重概念熟悉;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值