zoukankan      html  css  js  c++  java
  • 黄衫感想博客

    黄衫感想博客

    室友跟我说我拿了黄衫的时候,我第一时间以为自己摸鱼被发现了,被黄牌警告了……后来仔细看了看那段关于peek experience的介绍才知道这玩意儿属于奖励性质。

    然后我思来想去,我看了看自己中上而已的分数,不觉得做到了“最好”。那为啥给我了件黄衫呢……我想了老半天,觉得可能是因为我测试部分写得比较特别吧。

    我当初为啥会那么写测试

    我当时拿到题目要求,看了看那老长老长的一大串,就感觉这玩意儿想对很难,又瞥见有个性能测试,而且数字还挺大,脑子里稍微想了想算法,感觉这个时间复杂度肯定低不了。我察觉到这个项目要做的话可能会永无止今,毕竟有个性能优化的问题,这个问题没有尽头,但我的时间有限,所以需要有个“让自己绝望的标准”。也就是自己写测试样例卡死自己,而且还得是那种我不知道能不能跑对、跑通的测试样例。

    基于以上的想法,一点点往下推想,就自然而然地把测试样例划分成了多个种类,也自然而然地会想要有个自动生成测试样例的方法。也就是所谓的需求、资源驱动的结果啦,不然我也不会在测试上搞那么仔细。

    我觉得这也是种团队精神吧,就算是不想干了、觉得没可能搞下去,也得要有个能报告的玩意儿,像是“无论如何也无法在5min内通过1000词的测试”,然后把那个1000词的测试摊开来给伙伴看,劝他也放弃,而不是自己自顾自地不折腾了啥的。

    而且还有很重要的一点,我比较懒,要我手写1000词的测试,或者光凭想象力去想那么多测试样例,然后还要追求代码覆盖率,那还不如杀了我。做事有点条理性也是方便自己把活儿干好。当然,要是没想把活干好那另当别论。

    总结来说,就是这几点让我去做了比较复杂的测试:

    1. 问题本身的复杂性 + 我自身能力的局限性
    2. 说明需要佐证 + 讨论需要材料
    3. 想把事情做好的想法 + 不想浪费时间的想法

    课程中期感受

    我感觉这课在教啥

    这课其实也还挺闲的,主要是压力不是很大。和OO、计组、OS这些课不同,软工的工作重点我觉得是调研+计划+交流。至于实际的编码问题,就我的情况而言,遇到的问题都不是很棘手,或者说如果太过棘手的话,那在计划、交流的时候可能就把这个需求给pass掉了,毕竟是自己做决策,自己总不能给自己找难受是吧。不过虽然自己不会给自己找难受,但得说服别人不给自己找难受——我觉得这就是软工的工作重点了。

    举个例子,结对那会儿,我花了相当一些时间和搭档解释说明我的git习惯,可能和第一次一起看题花的时间一样。因为我们大多数人其实用git的经验很少很少,特别是团队使用的情况。就算是团队使用,很多人也都是线下商量好,再线上装模作样地提交。这在两三个人的小团队里还好说,要是大团队里面感觉会是个灾难。从这点来看,我觉得目前软工的团队人数设置得挺合理的,6~8人,不大不小。太大的话,有的组的代码管理可能就要崩溃了,太小的话,有的组大概就没有代码管理了。

    不过当然,git习惯只是一个手段,真正重要的还是交流的方式吧。我也不是很懂,就慢慢学。怎么和别人一起搞事情,这就是工程吧。

    我觉得这课哪里不够好

    团队作业这部分的引入,我觉得教学方面真的带得不够。正如我上一段所说的,我们大多数人没有任何大项目的开发经验、管理经验。像是团队成立后的第一次课上去做个PPT去讲,然后对于要讲啥的要求都是很概要的几个字/几句话。我知道这是因为各组项目性质/人员类型都不尽相同,不能给出一个定式的模板。但是也正因为如此,我觉得助教的深度介入应该就在此时进行,而不是拖到alpha阶段都快结束了才介入。让一个已经成立的团队改变做法比在一个团队建立时给出意见矫正路线要困难得多。我感觉到课程的意思是让我们先去做,然后再正经地教,这好像是目前更提倡的做法,毕竟自己动手做了才有感受,才能更有针对性地听。但是实际的操作结果是,做的时候一头雾水,瞎搞,然后因为课上讲的都是已经做完上交了的东西,所以都没啥人在意,事后更加没人根据课上讲的东西返工之前做的东西。(在没有出大事故之前,不会有人愿意返工的。)

    我看见黄衫上写着“Learning when doing”,我觉得这句话是没毛病的。所以我的建议是,teaching及时介入doing的过程,引领好doing的方式,让学生能更好地自主地去learning。而不是放任学生自己doing,然后再teaching,指望着学生能自发地返工/自省从而达到learning的效果。

    当然,现在已经alpha阶段快结束了,马上要进入beta阶段了,该定下的团队运作模式基本都定下来了就是了。

    这里还想提一下作业的提交方式。我很喜欢结对编程的那个作业提交方式,两个人有共通的内容,但也有各自独立的部分。不知道为啥团队作业不这么搞了。我觉得哪怕我们以团队形式进行工作了,至少在alpha阶段,也应该在个人级别地督促教学。当然,这不是说要给个人增加单独的博客作业啥的,只是需要有个渠道能真正看见团队里每个人吧。不过因为各组项目的性质、分工都天差地别,这部分可能真的有点棘手吧(笑。

    (我会不会说得太直了,我不会被扣分吧(害怕.jpg

  • 相关阅读:
    邪恶改装2:用单片机实现一次简单的wifi密码欺骗
    TPYBoard自制微信远程智能温湿度计
    什么是私有网络
    DCHP是什么意思
    ipconfig 命令有什么作用
    什么是网关及网关作用
    什么叫路由
    kvm libvirt 虚拟机管理
    通过python-libvirt管理KVM虚拟机 源码
    通过python-libvirt管理KVM虚拟机 代码实现
  • 原文地址:https://www.cnblogs.com/supplient/p/10684120.html
Copyright © 2011-2022 走看看