Categories
程式開發

不用框架2周写一个电商网站,同济软工系前端小作业引热议


上个月,清华自动化系大一作业在知乎上引发热议;近日,又有网友贴出同济大学软件工程系大三的前端小作业:写一个电商网站,不能使用任何前端框架,时间为两周。有网友惊呼:现在的大学作业都这么硬核吗?

事件回顾

近日,知乎上一篇《如何看待同济大学软件工程系2020年大三前端小作业是不用框架2周写一个电商网站?》的帖子引起了热议:

https://www.zhihu.com/question/395864219

帖中附上了同济大学软件工程系大三前端作业的要求:

不用框架2周写一个电商网站,同济软工系前端小作业引热议 1

从贴出的文档中可以看出,老师把原本分为三次的作业合并成了一个作业。从要求上来看,这个作业的实现难度明显小于清华雷课堂,唯一的问题在于时间比较紧迫。有网友晒出了该系去年的作业,在难度上其实没有明显的差距,但去年是三次作业中每次都有两周的时间,时间更加宽裕,而今年把三个作业整合到了一起,也要求在两周内完成,时间比较紧张。这主要是因为受疫情影响一直无法开学,老师只能一股脑把三次作业整合在一起。

并非难出天际

从功能实现上来看,这项作业并没有那么难:实现一个简单的网站,功能方面需要有商品展示、用户注册登陆、添加购物车、登陆状态下结算下单、登陆状态下查询历史订单信息(无需考虑订单状态)。

不过从要求来看就有难度了,不能使用任何框架:

不用框架2周写一个电商网站,同济软工系前端小作业引热议 2

其次就是时间过于紧迫,只有两周的时间且这段时间内还要上课,实际上可用的时间极少。而且在前端工程化的今天,随着各框架逐渐完善,开发效率大幅度提升,用纯 HTML、CSS、JS 写网站意义并不大,而且有网友指出:

不允许使用任何前端框架,那么webpack自然也不能用。模块化是编程的一个很基础的思想,为什么不去培养学生的这种思想,反而直接禁用?

该作业的要求是实现一个网页,但需求并不是十分明确,而且评分标准也有些模糊,界面是否美观要看个人喜好;代码是否简洁、易懂也有些主观;操作是否简便也相对主观。不过,布置作业的老师肯定不是想让学生在两周内写出一个淘宝、京东这样的网站。

有网友贴出了去年的两个作业,一个是电影列表 Web 界面,一个是在该界面的基础上增加数据库和服务器接口,总体上来看与此次作业难度相差并不大。

不用框架2周写一个电商网站,同济软工系前端小作业引热议 3不用框架2周写一个电商网站,同济软工系前端小作业引热议 4

虽然作业文档中表示可以参考豆瓣和 IMDb,但并不是要求学生做到像这两个网站那么复杂的页面。该网友也贴出了他自己当时提交的作业,只要实现一个简易的网页即可。

不用框架2周写一个电商网站,同济软工系前端小作业引热议 5

总而言之,虽然此次作业时间紧迫且不允许使用框架,但仅实现文档中所要求的功能还是可以完成的,并没有那么大的难度。

网友的看法

不同于上个月大家对“雷课堂”近乎一片倒的吐槽,这次网友们众说纷纭。有网友表示:

这个说实话不过分。两周有两周的写法,一个月有一个月的写法。用原生JS也是合理要求。有助于打好基础。能力有限的同学写个简单的,大神自己撸个MVVM出来也可以。这个跟清华雷课堂是完全不同性质的。大三的同学应该有能力完成。

提出这个问题的同学一开始表示:

我也是你济软院的,我大二小学期用了大概一个月写过一个类似的,当然是用了框架的,前端Vue+ElementUI,后端Express。去掉考试周占用的时间,至少有二十天的,而且那段时间的强度不低于996。对这个项目的难度,我是有体会的。这样的一个项目,在不少学校,是完全可以作为毕业设计来做的。

后来他又补充回答说是自己把这个作业想复杂了,的确只搞出最简单的能用的凑合看的不难。但他强调:

我的想法是,在没有一个明确的标准来评价的前提下,内卷是很难避免的。“简单”的定义因人而异,而我认为那些造出火箭的人在那边攀比是内卷的来源。如果让我来说一个建设性的方案的话,我个人觉得应该提供更明确的标准或是一个例子,而不是这样宽泛的上限极高的要求。

也有网友表示此举没有意义:

要求用纯 HTML、CSS、JS 写这种作业,类似于纠结茴香豆的4种写法,意义不大。比如Ajax,对他的理解作为一个异步发送HTTP请求的工具就足够了,不管使用jQuery的Ajax还是Axios,在项目中都能达到这个目的,为什么要去研究XMLHttpRequest那古老不友好的API?过度钻研原生除了浪费时间以外真的没什么意义,这一个作业里面也看不到对有意义的比如this 原型,闭包等原生内容的使用。

同济大学的这个作业,虽然没有“雷课堂”那么硬核,但也的确没那么轻松,你觉得这个作业难吗?使用纯 HTML、CSS、JS 写网站是否有意义?欢迎留下你的观点。