阅读前任历程,展望自己未来 by杨希超
今天打开学长学姐们的博客,第一反应,跟我预料的不一样。本来以为博客里就没几篇文章,没想到内容那么丰富,从自我随感,到技术交流,再到各种工程经历,实在是太丰富了。从中我也学到了不少,对软件工程这门课也有了一个期望。
最近正在学习机器学习的知识,本来打算用C++编一个决策树的程序,可真正编程序的时候才发现自己弱爆了。本来在学校里老师给的数据结构的题可以轻松完成,现在却一点办法没有。在这些博客里,好好多学长学姐上软件工程以前也是对编程接触的比较少,然后经过学习做工程,最后用程序解决一些问题。看我这些博客后,我也大受鼓励。我相信,上完软件工程后,我一定可以学到不少东西。
首先要谈的当然是基础知识的学习。虽然已经上过一节课,但是还没有涉及到编程相关的知识。不过老师很和蔼,来微软最大的感触就是老师都很和蔼,不像高校中有些老师。然后教材没有统一教材,可能是课堂上不会用教材,微软应该不差这点钱吧。发现学长学姐们对这个谈得比较少,像我这种编程菜鸟好好听就行了,老师随便讲点什么就是新知识。
学长学姐们谈得比较多的还是组队做工程的事,从中我也得到了不少经验,避免以后在做工程的时候走过多弯路。结对编程都得到了不错的结果,学长们从中也学到很多东西。有一篇中,学长说他对编程一无所知,对C#也只是一知半解,编程能力也不给力。这都符合我的现状,最后他们也顺利地完成了任务,我大受鼓励,坚定了做好这份工作的信心。
结对编程首先要规划好工作,具体包括项目任务,目标,工作分块和预期时间花费。然后抓紧时间,不能太懒散,保证在计划时间内弯沉工作。除此之外,两个人协调工作也是相当重要的,引用一组学长的话“快乐可以分享,困难那可以分享,最重要的是有两颗高度协调工作的大脑”。学长们都提到了结对编程的优势,再提高开发速度的同时,也保证了代码质量,同时能互相学到很多东西。一个人写程序难免会犯很多小错误,而这些小错误需要大量时间debug,结对编程就少了很多错误。同时,一起debug可以很快的发现错误,找到正确的结果。需要注意的是,看程序最好先分开看,不懂的地方再交流,这样效率会比较高。
结对编程就总结这么多,至于建议想法倒没多少。只是希望能有一个适合自己能力的题目,自己不打酱油并且能够学到很多东西,以便为以后的工作打下基础。
从学长那个学姐们那里也了解到不少关于小组项目的一些经验。题目以前是自由命题,这届貌似老师要给题目,我觉得自己如果没有很好的创意还是老师给题目比较靠谱。另外普遍的反映就是开始想了一个很宏伟的目标,结果实现的跟目标有一定差距。毕竟好多人都是第一次做项目,难度很难把握,目标定得过高很正常。但是定目标这方面老师可不可以给点参考性意见?
一定到制定一些规范,如编码规范和文档规范。这样才能被队友快速的看懂,否则可读性会很差,很影响效率。合理分配各项工作人数也是很重要的一个问题。有一个学长提到,他们那一组就是因为编码的人太多,对用户调查不充分,缺乏数据,搞得编代码很没效率。做一个项目之前市场调查很重要,根据需求设计功能才会有人去用,这一块完全可以整个小组的人一块儿干。大家集思广益,肯定能想出不错的方案,三个臭皮匠还顶个诸葛亮呢。
总之,每个人尽其所能,发挥出自己的作用,课程结束时每个人都学到东西,那么这课程的目的就达到了。