为了账号安全,请及时绑定邮箱和手机立即绑定

搞不定抽奖系统的技术不是一个好程序员(3)

2018.11.06 13:49 1466浏览

11月3日,抽奖系统开发的第三天,第一个通宵。

系统开发才开始第三天,进度已经跟预期的规划有出入了,技术的压力不仅是身体的累和困,更是内心的紧迫和责任。

又忙了几个小时,都快要中午了,核心代码终于是算是完成了一个阶段,后面可以开始做后台管理功能开发了。技术先吃了点东西,然后选择先躺一会儿,休息一下才有力气继续干活。

程序员的梦

迷迷糊糊中,老板带着产品和运营一起来催技术,双十一的抽奖系统按计划要上线了,什么时候能够用呢???

技术有点慌,赶紧自己测试下。。。

原来是一个梦,技术醒来一看,今天才是第三天,不过已经是下午3点多了。由于是周六,也没别人加班,连产品和运营的人影也不见。这样倒是也清净了,没人来打扰技术。

开始后台管理功能的开发

这里不仅仅有controller的逻辑,还需要有前端页面和数据交互的处理。很多的管理功能都会是比较类似的,都是基础的增删改查,能够做好奖品管理,其他的管理功能,比如:中奖记录、优惠券、用户、IP黑名单等也就好办了。

技术先把 /web/views/admin/ 的模板目录以及 /web/controllers/admin相关的控制器文件创建了。

这里的模板,使用到Go的template,跟其他的模板还是有挺大区别的,用法也很怪,功能感觉也很少,比PHP难用一百倍。但是,也没办法,只能是在模板中用一些简单的功能了,比如:读取变量,range循环,if 判断,再增加几个内置函数。再有更复杂的功能和内容处理,就放到控制器里面去完成了。

首先,需要有奖品列表页,可以查看活动的奖品信息。

这是一个列表的话,用表格来展现就可以了。

controllers里面把全部奖品数据都读取出来,然后在模板中循环输出就可以,一些简单的处理,或者在逻辑控制器中完成,或者在模板中完成,这些都是看情况,倒是没多少技术难度。

然后,还要可以对奖品信息进行编辑。

所以,需要有奖品编辑页面,需要有保存奖品信息的服务端接口。

这些都是常规的工作了,就是一个大的表单,有很多的输入框,工作量会大一些。

还好, iris 对表单数据的处理还是比较友好,通过在 /web/viewmodels 里面定义数据模型,可以很快的将表单数据和模型数据匹配转换,编程上简化了不少。

奖品还有一些状态更新,还有库存变化等功能。

有些功能不需要打开新页面,只需要一个模式窗口的浮层就好了,还需要用到jQuery和bootstrap的一些js和样式。

对一个偏后端的开发来说,又增加了学习成本和时间,还是有点麻烦。

但好在这方面的文档比较丰富,找到例子就可以照着处理,也算是比较顺利了。

收工

今天的后台管理功能,倒是没多少难度,主要是对template模板的熟悉,对jQuery/bootstrap框架的了解。

技术把奖品管理的功能开发完,调试测试通过,又到晚上去了。今天算是把进度又追回来一些,晚上还是可以正常回家睡一觉了。不过,明天周日,加班还是在所难免啊,又会是一个忙碌的周末。


老师总结

后台管理功能,主要是增删改查的任务,工作量比较大,技术难度不大。如果掌握好的方法,或者有工具,可以快速的搭建和生成代码,可以简化很多的开发工作。如果是前后端技术分工协作的话,静态化前端页面+后台接口,通过ajax请求也会是一个不错的方法,毕竟写模板,在服务端拼接数据,开发效率、执行效率和数据交互配合都会是比较差的。

在开发工作的任务分解和预估中,一定要注意,把工作量和工作难度分开来度量。很多时候,预估的时间不准确,原因都是出在工作难度没有预估到位。留给技术充分的开发时间,不仅是完成一个系统的功能,更是要完成一个高质量的系统。

一起来学习《Go抽奖系统》,也许能帮你少走弯路。

上一篇《搞不定抽奖系统的技术不是一个好程序员(2)

下一篇《搞不定抽奖系统的技术不是一个好程序员(4)

点击查看更多内容

本文首次发布于慕课网 ,转载请注明出处,谢谢合作

4人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消