《清华大学自动化系2020C++ 大作业》要点提取

第一遍看到网络上这篇文章时很震惊,做为一名普通本科生觉得这作业难度超乎想象加上本人也不是码农。记得大学时C\C++的课程大作业好像是随机大素数生成,还有什么管理系统来着。作为非专业人员本文亦不再分析专业性问题,只摘抄部分内容用于备忘。

用户登陆:根据用户名密码登陆软件,三次密码输入错误自动退出雷课堂软件。

——系统安全性,防止暴力破解,另外后端验证码也可用于安全性保护

1.9 注意力:课堂持续期间,学生签到后,“雷课堂软件处于焦点窗口状态的时长”与学生在线时长的百分比,将在下课时反馈给教师做记录。

——包括之前的答题、签到可看作是程序埋点,用于统计数据(学生的答题效率、是否伪听课)方便支撑后期数据分析,在现在的用户app中这种埋点数据采集及采集范围只会更广泛。什么时候打开app,在哪些页面停留多少时间,浏览记录,打开app时的网络状态,热点按钮事件等……

2.4 全部语音、屏幕共享、网络传输等需使用操作系统API 的相关操作,均需封装成类代码,再被其他核心类使用。不允许其他核心类直接调用操作系统API。

——其实windows下有很多api调用接口,之前接触autoit(AU3)的时候有不少示例脚本都用到了系统api。这也是为了加快开发速度防止重复造轮子吧。

2.5 除界面类外,任何第三方类库的使用,只能处于源代码级别,不可依赖lib/so/dylib 文件(静态库也不可以)和DLL 文件。全部第三方类库需在报告和程序中著名来源和版权信息。

——不得不佩服高等学府的严谨性。前几天我刚写完一篇关于windows系统中软件外包的坑(那时网络上还没出现这篇文章)里面就有提到了使用第三方SDK的问题。做软件开发肯定是交付(给甲方/老师)的源码越核心越好,如文中所说的第三方库要处于源码级别,这有点像我虽然买了辆汽车,我不仅要知道去哪里买它的发动机,我还要发动机的设计图及生产方式(以防厂家倒闭,我自己也可以造发动机)。

3.4 发布的程序必须是可运行于Win10/Mac os 10.14 操作系统下的32bit 或64bit的Release 版本:不依赖于具体开发环境的依赖库、不依赖操作系统驱动或功能模块配置、仅仅软件自身可执行文件和必要的数据库库文件(如使用了数据库)。在不可避免的依赖数据库驱动时,应提供自动化安装包:运行安装包即可自动安装和配置数据库驱动、安装软件本身的可执行文件和数据库库文件。特别地:只要可执行文件和数据库库文件的相对路径不变,数据库驱动、可执行文件和数据库库文件安装的绝对路径不可影响软件正常运行。

——这个用户体验肯定好。很久以前每次重新装完系统(纯净版)后,如果安装软件大部分是运行不起来的,需要安装运行库,这个倒还好。有些软件还需要.net环境但是它安装包本身又不集成这个就很头疼了。

网络上发酵一段事件加上布题老师后面的说明,其实我认为是我们自己想多了,因为据说最终的功能实现只占了20%??,这就是高端学府顶级人才与我们普通生的区别了。人家吵得火热不是说他们达不到及格线,他们这些学霸吵的是拿不到满分满绩效,越是人才扎堆的地方越是有你想不到的大触。如果只是对一个要求平平即没太多实力有没有好胜心求知欲的,这个大作业还是很好过及格线的。大家追求的层次不同,你不会不代表没人会,做好自我定位就好!

知乎的帖子请移步:https://www.zhihu.com/question/389457315

基于互联网精神,在注明出处的前提下本站文章可自由转载!

本文链接:https://ranjuan.cn/something-about-tsinghua-assignment/

赞赏

微信赞赏支付宝赞赏

php调试xdebug与xhprof
pdo-namespace-error
h5-xiaochengxu-union