去年,我满怀对计算机的热情填报了计算机专业,却只经历了潦里潦草的一番学习,软件工程对我而言依然陌生。不过幸好老师向我推荐这本书,才让我对软件工程这个专业有了一点初步的认识,让我了解到工程并不只是编程,让我知道,大一所学C、C++其实知识只不过是冰山一角。
在书中,作者以愚公移山的故事通俗地阐释了编程的精义,即通过简单的编程的根本(顺序、分支、循环)来实现所需的工程。即便如愚公移山那样庞大的工程,也可以将其一步一步细分至若干个“叩石垦壤,箕畚运于渤海之尾”一样微小的过程,并且,在这样的方案中,愚公也考虑到循环的可行性(不会出现死循环)等问题。
刚开始学习C语言时,便有许多同学只会写一些简单的函数,却不会写输出1-500所有回文数的程序。我想这大概就是因为同学们“感觉”这个问题比较复杂,自己又是初学者,便心生畏惧,才导致写代码无从下手。其实只要按照老师所讲,参照愚公所行把问题分解成几个小问题:
如何判断回文数:依次进行首位与末位对比,相同则继续,不同则终止并得出结论非回文数;
……
这样问题便迎刃而解。
既然用愚公移山来类比工程,当然可以用做事来类比编程。周爱民先生在书中生动有趣地以人正常生活的思想来比作编程的思想。也就是说,只要你能够有条理有逻辑做事或者说头脑清晰,那就可以编程。而一般情况下人人都如此,所以人人都会写程序,只要有完成一件事情需要的逻辑思维,这便是编程的思想。
这说明人人都会写程序的同时,也说明了逻辑思想的重要性。因而,在学习过程中,应尽量把每一条语句理解深透。开始编程之前,应设计自己的程序流程,理清逻辑,再开始写代码,这样写起来会得心应手,不至于中途卡壳。我过去也不画流程图,看见简单问题直接上手写代码,以为老师要求画流程图是多余。但是有些问题只是看起来简单,实际操作时才发现困难重重。有些问题看起来只有某两小个问题,以为编程时自然就会解决,却不知那将会是这整个项目的两朵乌云,在后期会遭遇狂风暴雨般的阻碍。
“懒人造就了方法”,如李冰“积薪烧之”,如“单元文件”、“模块”概念的出现,使用恰当的方法,工作效率可得到极大提高。但真正的“懒人”也许不会创造方法,有时需经缜密的思考才有点子,而实现这个点子还是需要勤者。我认为我们应善于利用方法,并勤于思考,从而在以后的学习、工作中表现更加出色。例如,按照编程规范,写C++代码时,将每个类写到不同文件中,每个类的声明与定义分离,以写出易于调试、容易阅读的优秀代码。思考时,将所学知识归类,并联系实践,多加练习,才会真正将知识掌握,不会在写代码时感到无所适从。
团队缺乏的不只是管理,更重要的还有责任。如果作为一名管理人员,就必须拥有该职位的责任担当。领导人的技术不一定要有多牛,但须要有勇于承担责任的勇气。项目工期几乎无法准确计算,只有凭着工程师的丰富经验这样的“大数据”来预估,没有绝对合理的工期,所以项目总是一再拖延。然而项目就在你的手上,那么,无论成败,你只有把项目负责到底。
在有了良好的组织体系之后,开始开发之前,还要三思而后行。对成员合理分工也是团队顺利发展的重要因素。
与客户交流可以使用UML,但不一定使用UML。
做工程不是做过场,按需完成每一个环节,而忽略了项目最终的实现,只是“虚有其表耳”。因此,管理人员应认真组织每一个环节,使得分工明确,步调一致,共同完成项目。
同样,我们努力学习并非只为应付考试。而是为了给自己打拼一条出路,所以还要踏踏实实认认真真。