迎来的第二波的项目设计,此次做的是聊天软件,关于系统网络的程序设计,与上次不同的是这次不只是代码的不同,更是吸取上次项目的设计来进行。
想的总是这么简单,然而实际却没这么简单。
首先仔细对程序进行设计,其次与同学进行沟通,接着敲代码,最后是调试。
程序设计时,一边仔细的构思自己的设计思路,一边通过百度搜索借鉴和学习,思考完就开始编写伪代码,就这样大致花了1天的时间。
第二天便开始了敲代码之旅,沿着自己的思路敲着代码,敲着敲着没觉的自己代码和思路有什么太大的问题,中途听见了同学们之间关于项目的讨论,感觉会有所收获,于是插入其中愉快地和同学讨论着各种问题,讨论异常激烈,但是我却没有注意重视同学所关注的重点之处,仅仅是进行了讨论,简单的认为自己的代码没有什么太大的问题,这便是错误的开始。
好不容易敲完了客户端,感觉想调试都不行,带着无奈的心情去写了服务器,在几个小时后终于写完了,开始对服务器和客户端进行调试,嗯,由于之前写过学生管理系统的原因,登陆注册很快的就搞定了,无聊的问了问同学的进度,发现一切感觉都还行,心中感觉这次程序设计的不错,思路清晰,敲代码的速度提高了,bug也没有太大的问题,似乎很快就能够做完的心情进行了私聊函数的编写,感觉有了丝丝的成长。随着时间流逝,两边的私聊完成,愉快的开始调试代码,接着各种问题就来了,进去聊天菜单,输入聊天信息发送给服务器,然后服务器就死循环了!!!这到底的是什么问题?开始查找问题,修改代码,改着改着,登陆功能也出现了问题,那时感觉真是一夜回到解放前,奔溃的我向同学进行了求助,同学耐心的帮我解决了问题,真是让我长叹了一口气,不久撸起袖子开干了,令我震惊的是这次轮到客户端死循环了,那感觉真是上天了。
我开始思考为什么会这样,原因是在构思的不够全面,周到,在调试代码时就完全的暴露了,同时同学们在思考问题时却没想到那是实际上我也会遇到的问题,就这样的错下去了。
做完了整个项目后,我感觉不是很满意,虽然吸取的前面的教训但却没能充分发挥。
对整个项目时间的耗时我做了个统计,构思:15%,敲代码:25%,调试60%,这比例显然不是很好,其实这说明构思真的很重要,在构思上花的时间还太少,敲代码只是按照自己的思路进行,这是没啥的,关键是调试中遇到的BUG和乱码之类的各种错误,其中有些是由于粗心造成的,但主要还是由构思的漏洞的原因,逻辑思路不够清晰,BUG就是最好的一片镜子。遇到BUG在所难免,有个清晰的思路和全面的构思起到的只是减少BUG的作用;其次是遇到BUG要冷静,真是遇到了很多次,好几次凭着感觉改程序,感觉是这样的就这样改,没有完全大脑思考,手忙脚乱的,把对的都改错了,真是雪上加霜。。改完以后才发现原来是这样。还有最后一点,也是比较难掌握的,那就是了解自己的能力,很多时候不是很难的BUG,仔细的思考就能解决的BUG偏偏直接去找同学,才发现这么简单,然而有时又像打鸡血了一样,揪着一个BUG不放,想不出来也不去问,白白浪费了时间。
每次总结都会感受到自己的不足之处,同时也知道了该改进的地方,这或许是个好消息。
有时感觉重在平时的积累,每天上课,老师讲知识时,有的同学是只要知道怎么用就行,有的是深度解析其中的原理并能够举一反三,当然我是属于前者,那或许就是我所欠缺的地方,对于只是点是否熟练掌握,在项目中能够暴露无遗,因此我要努力能够对知识点能够充分了解,把它变成自己的东西,虽然这对我来说是个挑战,不过我想成与败或许就在于此。