我的博客-ASE课程最后一周总结

回顾课程计划,完成程度如何?

当时的计划是学习完整的现代的软件工程知识,可以完成一个优质的软件。
能力调查表和课后指望:html

技能 课前评估 课后指望 如何提高
程序理解 2 5 科研mentor监督读和修改最早进的算法代码
代码质量 2 5 高效利用时间,对于本身如今的水平,先埋头写就是了
架构设计 2 5 对于最后的团队项目,确定须要学习开源的项目代码或者和组里其余同窗学习才行,在此过程当中学习成熟的代码结构设计和项目架构设计
线程进程设计 1 5 科研这边的程序跑在多个GPU上,会练习到
我的源码管理 3 5 使用git

如今看起来,学习完整的现代软件工程知识,完成一个优质的软件,基本算是完成了。好比如今对软件工程的认识,和完成的还不错的期末做业
对于技能表里的计划,程序理解能力提高,有提高,可是大概如今3-4分吧。代码质量感受几乎没啥提高,由于埋头写代码,也不知道本身写的好很差,基本上就是能完成功能就万岁。架构设计提高挺大的,多亏了组里beta阶段来了王子博同窗,跟他学习了不少。如今大概3-4分。线程进程管理有提高,如今大概2-3分。我的源代码管理基本完成,代码质量参考小组做业的开源代码一样的,也是子博给了不少的指导。前端

你在课程开始快速浏览了《构建之法》,提了 5 个问题, 请回顾那些问题, 本身回答它们。

在第一章的末尾,讨论了bug和feature之间的关系,有些人知道有些产品的质量不如另一些好,可是也会选择那些不够好的产品,由于它们知足了顾客的需求,产品是否有理想的销量是和可否知足顾客需求直接相关的。在暑期科研中,小组研究的课题是去寻找深度学习库代码之中的bug,可是深度学习中某一层的bug有可能并不会对最后的预测准确率有很大的影响(此处bug指和理论算法中实现的函数有区别,错误的实现代码),由于在训练的过程当中可能这个层的bug会起到像新的激活层同样的效果,甚至可能对预测正确率有好的提高。那么这种bug须要解决么?vue

如今感受起来,bug是和软件不可分割的,软件中几乎不可能彻底没有bug。bug的解决要考虑到成本。好比咱们的项目中有一些已知的不足,或者没有实现的功能,可是考虑到同窗的时间和项目的进度,只能砍掉。开发新功能和解决bug之间,工做量和代价之间,都要有取舍和平衡。
***git

在第十章中提到,咱们有不一样程度的典型用户,有的对软件的专业程度需求高,有的需求低,这个在如今的软件产品的对应中,是不是家庭版、我的版、专业版、企业版等等区分呢?若是可让比较弱需求低的用户在使用过程当中不会有那种软件认为我太弱了不给我所有的功能一类的感受呢?程序员

用户选择合适本身的版本使用起来也会更流畅。新手不须要那些很复杂的可是根本用不到的功能。
***github

在8.6.1以及14.1.2分别提到了项目目标预期与进度调整、开发过程的可见性的问题,在第七章微软MSF中也提到了给员工足够的信任的问题,若是任务紧,赶时间,项目参与人员也在尽力作,可是由于能力不足、或者压力大致使拖延症等等,畏惧汇报进度;这种状况下是应该要求让员工不管作成什么样都如实汇报,仍是设置好ddl中途就再也不追问了呢?算法

必定要定时汇报进度!当过PM以后对这个有了不少的体会。有衡量的标准和可靠的spec,即便员工遇到了困难进度缓慢,也必定要如实汇报,方便管理者内心有数,能够处理和协调。数据库


私人问题,在14章质量保障中提到了若干互联网公司的安全事故致使用户用户名、密码泄露,做为软件开发很资深的研发总监,对于我的用户的密码设置问题,是否有什么建议?django

是的,有不少软件开发公司对用户的密码保护很差,对于咱们的密码没有进行合理的加密保护,甚至前一段时间的12306抢票软件明文密码泄露的问题。做为用户,咱们应当分级设计密码,重要的软件用复杂的密码,不重要的软件能够用同一套密码,泄露了危险也不大。api

看看还有什么新的问题产生,请列出来,建议列出 2-3 个新问题。 可让老师和助教来回答


  • 非程序员出身的PM会在工做的过程当中出现各类问题,为何还会有不少大公司不少很重要的岗位的PM是属于不会写代码没有工程经历的呢?为何不选择那些有代码经验的人作PM呢?
    ***
  • 做为资深的软件工程师,对于以前讯飞在demo中使用人工翻译把印度人的口音问题解决记录成文字版再使用讯飞本身的翻译和朗读软件完成,讯飞本身在宣传的过程当中比较清楚各个技术的具体状况,在合理的范围类进行宣传,而翻译员曝光后媒体对其大肆批评的状况怎么看?软件的在必定程度上的舞弊是属于能够接受的呢仍是尽可能避免的呢?怎样避免被媒体抓住鞭子?

    你看了一些软件工程的文献, 你的团队也作了一两次 “过后诸葛亮”分析, 能够再去看一遍,如今有什么新的感想?

    第一次的过后诸葛亮分析是本身写的,第二次也参与了不少,我以为当时的想法对于个人成长和认识有很大帮助,如今看起来也以为收获很大。

    对比一些技能评价表,你有什么提升? 还有什么收获是不能用数字衡量的?

    在第一部分有写。主要是对完整的软件开发走了一遍流程,对于管理一个小团队,做为PM和做为Developer的体验和收获都是很大的,了解了状况,对于之后若是想从事软件开发,应该会更加内心有数一些。

    设想一年以后, 你到了你职业发展的下一个阶段(高年级, 读研,工做),回头看这门课, 你对于这门课的教学方法, 老师和助教的工做,和其余课程的衔接,有什么意见和建议?

    若是能够的话,可不能够尝试下增长如下功能?由于做为一个计算机科学的同窗感受下面的能力被培养的不好:
  1. 代码质量。当时只在最一开始学第一门C语言的时候老师有讲一些,可是那是基础的代码质量的规矩。能不能讲解一些优秀的代码,对于如何安排函数的文件、位置、配置等待来进行讲解。
  2. 架构。这个我基本彻底没学过,以前完成某个功能可能都是简陋地完成,不太知道如今普遍通用的库函数和规则。好比写一个完整的网页,可使用vue进行前端书写,django完成api的server如何配置,数据库能够放在某个服务器上,不停工做的引擎对数据库的内容进行完成能够放在别的服务器上,工做的方式是直接和数据库沟通。当时子博指的方向和指导文档很大地帮助了咱们,可是若是他不在咱们组里,咱们可能会用奇奇怪怪的低质量方法完成。感受架构的知识我在科大的培养体系里欠缺太多了
相关文章
相关标签/搜索