zoukankan      html  css  js  c++  java
  • 软工实践总结

    一、请回望暑假时的第一次作业,你对于软件工程课程的想象

    1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
    其实感觉差不多...
    2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

    1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
    这个不太好统计...每次作业中那个表其实是把自己做的一些其他的东西也算进去了。
    这学期看了一下大概新增代码行数7500左右

    2、软工实践的各次作业分别花了多少时间?(做一个列表)

    3、哪一次作业让你印象最深刻?为什么?
    临近考试前的那次吧,...,生死时速,紧张刺激。

    4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
    但当时的回答是:

    每周拿出多少时间我觉得这是很难量化的,我觉得的理想状态是每次都能够以比较高的质量完成每次的作业。同时掌握一些比较深入的东西,并在课程中进行应用。

    个人认为应该没有完全做到吧,一开始有很多想法,很多想尝试的。受限于各种成本以及一些考量,并没有很好的完成自己想象中想实现的东西。 例如本来想做特别好看的交互动画...(后来还是先把功能实现了再扯别的...

    5、学习和使用的新软件;
    石墨文档???

    6、学习和使用的新工具;
    ...git更熟悉了一些吧

    7、学习和掌握的新语言、新平台;
    ...并没有... 在已经掌握的里面...,本来有想尝试使用Kotlin的...但还是觉得切换的成本较高,不过后续肯定是会逐渐转向Kotlin的

    8、学习和掌握的新方法;
    涉及到了Android中的自定义View,这块的东西之前陆陆续续学了一些,但是没有怎么实践过,之前的经历可能也就只有在别人的基础上改改监听器,这次的话更加深入。

    9、其他方面的提升。
    协作能力,以及沟通,还有对事情的优先级的安排。

    二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

    三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

    1)你有什么想建议、告知和期许想要告诉他们呢?
    在有精力的前提下,学习一些技能吧,不要只局限于课内的知识,多探索。只要感兴趣的东西都可以学学。

    2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?假设依旧是一个90+人数的大班
    这个倒不是很推荐,实际过程中,时间是比较不够的,换队的话是会增加时间成本的,并且存在一些问题。(如果只是某次课堂作业的话,那倒是没问题。

    3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
    如果要让人有比较强的压迫感的话,人数大概在6~8人会合适点。

    4)个人/结对/团队作业应该控制在怎样的规模?
    主要是结对/团队的比例高点就行。能让人体验到协作开发的方式。

    5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

    四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

    勉强达到创造阶段吧,已经比较规范完善了。

    五、怎样证明你学会了软件工程?

    1)研发出符合用户需求的软件
    必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件

    已经有一些人会使用,后续情况如何就比较难预测了。
    2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
    有项目规划/需求/设计/实现/发布/维护,有定时的进度发布;而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

    整个过程中只熬夜过一次,其他的功能都是徐徐推进的,分工明确,每个人完成各自的部分。
    3)并且通过数据展现软件是可以维护和继续发展的。
    而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

    4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。
    软件测试:确实是没有,自己日常写代码不会去做专门的软件测试,就写完大概运行一下觉得没问题就放过去了,
    但实际的话应该进行比较全面的测试。
    工具/社区: 开发Android的话就使用Android Studio, 写Java的话IDEA,Python的话比较喜欢用Jupyter。GitHub的话Public的就Android很早之前写的一个富文本记事本。有些Privavte的,后续有比较有意思的想法的话会分享出来。


    一些感想

    其实整个过程不是特别困难和痛苦,依旧没有丧失对coding的热情。
    但同时也感觉到了在ddl下码代码的感受。
    技术方面有一些小成长,接下去还要继续努力。
    每天看看一些自己感兴趣的东西,不要停止前进就行。

  • 相关阅读:
    mybatis 中 使用 allowMultiQueries=true
    接口安全性的几种方法
    springboot 常用配置文件
    使用Nginx简单实现负载均衡
    Nginx的负载均衡
    传输数据校验算法研究
    程序员必备的代码审查(Code Review)清单
    百度地图JavascriptApi Marker平滑移动及车头指向行径方向
    《互联网MySQL开发规范》
    JS原生Date类型方法的一些冷知识
  • 原文地址:https://www.cnblogs.com/darkexisted/p/10251804.html
Copyright © 2011-2022 走看看