1024踩坑日记
源码已上传至github:https://github.com/y894577/2019scnu1024
写在前头
在前期准备的时候,我们太盲目乐观,觉得有上一届的祖传代码就可以在三天之内搭好上线,但是计划总是赶不上变化的,问题总是比办法多的,这中途踩过的坑实在是太多太多,下面我会以时间线形式来讲述why这十几天是怎么
被迫害的学习总结的(逃)
经历(指自闭)
国庆之后
爽完一个国庆之后我们就开始着手准备1024了,我们前期的重心主要放在题目的设计上,召集了技术部的新生去设计有意思的关卡,当时心态还比较放松,因为有去年1024的源码,实在不行就改改之前的代码把题目更换一下,开发延续php+apache+mysql,因为之前写过简单的php觉得一切都非常的简单轻松,谁能想到这之后就是自闭的开始…
10.13
在中午拿到祖传代码之后,我花了一个下午去理解他们的框架,最后发现他们没有框架…以及整个代码非常乱,没有注释,各种url跳转以及资源整合都让我无从下手,当天下午心态就开始有点小崩,晚上1024项目组开会我们简单分配了一些不存在的任务之后我就开始翻看那本厚厚的php从入门到入土,然后一天结束了。
10.14
早上数据结构,我抽空把sql的基本语法看完了,然后初步设计了一下数据库,下午还是在学习php,晚上前部长ag说要来指导一下我们,然后我们用了一个晚上忘记了php,转战之前完全没接触过的django…然后时事证明这真的是个非常正确的选择。
10.15
学习了一天开发文档,对文件结构有了初步的了解。然后晚上被批判了一波之后紧急绘制了整个游戏的框架,写好了uml类图等等,之后经过两个人的商讨分配好了任务,后端由我搭建。
10.16
我们将部分前端交给了别人,中午开会统一了前端规范、命名规范,开始按照类图构建函数,尝试orm写入数据库,开会因为timezone的使用和migrate有问题抓狂了一个晚上,和信宣那边聊了一下推文的事情,究极自闭了一个晚上。
10.17
开始测试register和login模块,然后models的强制转换数据类型又搞了半天,依稀记得当天身体不是很舒服但是还是强行写了一晚上bug,然后静态部署的缓存问题让我以为又是我的代码出问题了,最后发现是浏览器问题(摔)
10.18
按照类图写bug,庆幸自己画好了图不至于很懵逼不知道该做什么,在此实名感谢a型g号。
10.19
把httpresponse转成alert的时候传参出了点问题,最后甚至想ajax异步能不能解决,最后发现…问题其实特别简单,是我傻逼了。然后调节了一晚上内部矛盾,代码基本写好了,但是仍旧需要进一步测试。
10.20
溜去监考了,玩了一天,以为所有事情都结束了,哈皮的不行,结果晚上饭局随便提了一句发现…由于sqlite性能太简单所以要换库,本来以为很简单的但是migrate的时候data.json总是导不进mysql…在306当场心态崩盘,也就删了几十个库吧(笑),最后发现其实setting设置一下可以不导json到mysql。
10.21
彻底把数据库问题解决了,晚上拉了项目组的小白鼠测试,发现了一些bug,尝试转换url结果静态资源加载失败,然后我就…懒得修了…把一些小bug修了解决了跳关问题之后工作基本结束,还差服务器部署问题。
10.22-10.23
因为这周实在是身心疲惫加上满课脑子停机两天,服务器那边甩锅给另一个队友,之后部署了planb,解决了一些无关痛痒的bug。
10.24
由于本垃圾在创建数据库的时候欠考虑,完全忘记了中文注册这件事,导致中文注册的时候和数据库连接有问题server500,懊悔了很久,本人背大锅,不过还好一整天除了这个bug没有出任何问题,planb也没有启动,一切平稳进行。
总结
1、在开发前做好需求分析和工程设计非常非常非常有必要。