软件开发心得体会5篇(CodeCraft: 软件开发之道)
这是一篇关于软件开发心得体会的文章。作者通过自己多年的软件开发经验,总结了在软件开发中所遇到的问题与挑战,以及解决这些问题的方法与心得。希望能够通过这篇文章,与读者分享一些宝贵的软件开发经验,帮助大家在软件开发的道路上更加游刃有余。
第1篇
首先,我们学习通用编程:任何类类型的所有值都可以同object类型的变量来代替。封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程,一个对象中的数据叫他的实例字段(instance field)。重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须挑选出调用哪个方法。数组列表:arraylist动态数组列表,是一个类库,定义在java.util包中,可自动调节数组的大小。
class类 object类中的getclass方法返回class类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。java中对内存的分配是动态的,它采用面向对象的机制,采用运算符new为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变。程序运行中 java系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问题,这使java程序的编写变得简单明了,并且避免了了由于内存管理方面的差错而导致系统出问题。而c语言通过malloc()和free()这两个库函数来分别实现分配内存和释放内存空间的,c++语言中则通过运算符new和来分配和释放内存,总之,java语言是一个纯的面向对象程序设计语言。
java语言是分布式的。java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。 java语言是健壮的。java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。 java语言是安全的。java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。 java语言是体系结构中立的。java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 java语言是可移植的。这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性,java编译器是用java实现的,java的运行环境是用ansi c实现的。
java语言是解释型的。如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。在运行时,java平台中的java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 java是高性能的。与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c++。 java语言是多线程的。在java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为thread(runnable) 的构造子将一个实现了runnable接口的对象包装成一个线程,其二,从thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是thread类已经实现了runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
刚开始时张宇老师先教我们配置java的编程工具和运行环境,然后教我们学jsp,在此期间,我们自学了java,又学了tomcat的使用及mysql和html语言,当我们jsp入门后,陈老师开始教我们学习jsf框架,但由于学校的安排,刚开始学,陈老师便去了苏州,由在苏州带队的孔祥盛老师回来教我们,在孔老师的安排下,我们又学习了sql server 20xx和struts框架,教我们学会了javawebstudio的使用。总之,
在两位老师的细心辅导下,我们有了很大的进步,知识得到了扩充,认识得到了加深,也使得我们的自学能力得到了很大的提高,在此,我向两位老师表示由衷地感谢。这次实训是三年中所学知识的一次汇总,是三年来学习能力的一次集中体现,有的知识在这次实训中用不到,但以后会用到,我敢说肯定会用到。因为好多东西都是厚积而薄发,所学的知识在关键的时刻也许只有一种用得上,但这一种也许足以成就我们的人生,到那时我们才能真正体会到知识的伟大,才能真正了解老师的重要性。我觉得要成为一个合格的程序员,首先要具备的是一种自学能力,遇到了问题自己要有能力去解决,当你尝试了各种方法,实在无能为力时再去请教别人,这时你所学的知识你一生都不会忘记,它将成为你一生的财富。有句话说得好:进攻是最好的防守!当你遇到了问题,你要试着去解决,编程嘛,想到了就要去试,你的面前就一台电脑而已,它又不会爆炸,你怕什么呢?我不敢说我的观点一定正确,每个人有每个人的想法,也正是因为大家的观点各不相同,才使得it业这个新兴的产业在短短的几十年中得到了长足的发展,给人类社会创造了超过以往人类社会所创造的价值的总和,这不能不令人惊叹,也正是因为如此,它才使得我对它产生了强烈地好奇心和探索欲。未来的社会是信息的社会,信息业所创造的财富在人类社会中占据首位,经济、军事、教育、医学、农业等领域无一不用到信息业所产生的科技成果。我能感受到它所创造的经济效益会有多大,所以,我要说:我爱编程,海枯石烂,矢志不渝!我是一个新技术的狂热追随者,每次上网时总要到mldn上逛一下,当看到短短的几行代码却能产生令人惊叹的功能时,我就被编程者的那种魅力所折服,我想成为其中的一员,我为自己现在所学习的专业感到自豪。
在我学习的过程中我也遇到了很多的问题,可是我却发现我遇到的好多问题在网上总能找到答案,我才明白我遇到的问题很多人都遇到过,并且他们也把解决的办法发布到了网上,以使我们这些初学者少走些弯路,我觉得他们太善良了,同时我也明白了自己是多么的渺小,我正在走前人走过的路,到底前面的路有多长多远,我不知。他们是开路先锋,他们为我们学习新技术新知识铺平了道路,我们所要做的就是把他们所发明和创造的东西掌握使用而已,并且知识量又很大,当我看到有无穷无尽地学习资源供我享用时,我只能说,他们像太阳一样照耀着我成长,他们太好了。当我看到程序代码,我就有一种特别的感觉,让我不断想成为一名编程高手,如果真的有一天,我的理想会实现,我会加倍努力好好学编程,永远不改变!通过三个月的实训,我感到自己学到了很多东西,虽说不精,但已经入门,于世间万物之中,遇见我所遇见的`事物;于千万年之中,时间的无涯荒野里,没有早一步,也没有晚一步,刚巧赶上了,上苍让我有机会接触编程,给了我一条路。我很清楚以后的路还很长,再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。任何业绩的质变都来自于量变的积累,成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成,让我们将事前的忧虑,换为事前的思考和计划吧!在实训的过程中,我深深感觉到自身所学知识的有限,有些知识点以前没有学过,但我也没有去研究,实训时突然间觉得自己真的有点无知,虽然现在去看依然可以解决问题,但要浪费许多时间,这一点是我必须在以后的学习中加以改进的地方,同时也要督促自己在学习的过程中不断的完善自我。另外一点,也是在实训中必不可少的部分,就是同学之间的互相帮助。所谓”当局者迷,旁观者清”,有些东西感觉自己做的是时候明明没什么错误,偏偏程序运行时就是有错误,让其他同学帮忙看了一下,发现其实是个很小的错误。所以说,相互帮助是很重要的一点,这在以后的工作或生活中也是很关键的。
俗话说:“要想为事业多添一把火,自己就得多添一捆材”。此次实训,我深深体会到了积累知识的重要性。在实训当中我们遇到了不少难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决。两个月的实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比较满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空。
第2篇
在大学里的最后一个冬天,我完成了3个月的实习,实习对我而言是一个难忘的体验,让我不论做人还是做事都改变了很多。 总的来说,虽然说不上乐在其中,但实习的确是一段充实而有意义的事。
实习期间积蓄了太多太多的感悟。 借此机会跟大家分享一二。
感悟一: 当我们进入社会工作,就先要进入各种规范中去。
作为一个软件开发人员,记得在我第一天进入公司实习的时候,首先要学习的就是编程规范。 相信每个搞开发的同学都跟我一样吧。
编程规范在学校里是十分不重视的。 老师也不会硬性地要求学生要遵照怎样的规范去编写代码,实验或者作业什么的,只要能实现功能就ok了。 但是公司却不一样,公司的代码并不是一个人编写,别人很可能需要阅读甚至修改你的代码,阅读一个不符合规范的代码,所需要的时间可能比重新开发还要漫长。 代码规范的重要性是不言而喻的。
当然,作为一个开发人员的前提,我还是公司里的一个员工(虽然不是正式的。。。)。 我还必须遵守员工的规范。
其实员工规范也没有什么特别多的要求,个人认为就跟上学差不多,虽然规范是差不多,心态上却有着很大的差异。 原因无他,你到学校是自己交钱上学,上班却是别人发工资给你。 拿了人家钱,还要扰乱人家的规范,这种事我还真干不出来。 看来钱不论到哪里都是一个问题,呵呵
其实本来,我是写"人其实是一种很唯心的动物",但不知道别人是不是也这样,虽然我觉得是,却无从考究,还是严谨点。
为什么说我唯心呢? 当我心里把自己当作一个学生,跟把自己当作一个上班族时,在各种细节上都会不一样,例如那有点虚无缥缈的"气质",或者是说话的语气。
这个大概是"站在不同的高度,看到不同的风景"吧。 正如老总看的是公司发展方向,主管却在看业绩,经理在看项目,小弟们在看代码。。。
设计模式是我到公司才接触的事物,主要是讲述一种面向接口的编程思维,按照设计模式所编写的代码,会比学校那种直接实现功能的代码繁琐一点,增加很多看似多余的虚类或者接口。 但是这种代码更加具有拓展性,更好地把数据封装起来。 在增加状态,增加类的时候,并不需要修改过多代码,这种代码对于版本升级尤其重要。
在公司培训学习中,我总能很快地掌握各种设计模式的要领,获得上司的好评。 但是我明白,设计模式真要应用到代码中去,是要培养一种习惯。
个人观点好像说得有点多了,下面说说我这3个月里的实习情况。 总的而言,我到公司接触了2个平台,一个是现在很火的android,另一个则是nokia的qt。 android 用的基本是java语言,其中还会带点xml语言; 而qt用的则是c++。
对于这2个平台,用着的感觉其实大同小异,用我上司的话说,基础打好了,语言就不应该是障碍。 感觉挺有道理的。 想当年我作为一个vb助教,却没半点vb基础,对vb那些基础问题还是可以比较轻松地解决,这跟我其他程序语言基础比较好有着密不可分的关系。
android平台的一个基本窗口是一个activity,除了基本的activity外,还提供listactivity和tabactivity这些拓展的`子类,每一个activity都可以看作一个窗口,一个进程可以有多个activity,每个activity都拥有一个view,view可以通过xml设定,当使用activity的子类时,必须注意这些子类的xml必须含有特定id的控件,或者不用xml实现view,系统会有一个默认的xml去实现那些一个基础view并且实现必要的id。
在谈到view,那么就必须说到layout了,android的layout很强大,最基础的是横向或竖向的排列布局,另外还有网格,表格布局等等。 掌握好布局的方法可以让我们对界面设计事半功倍。
android有趣东西有很多,在我完成那个移植应用的时候,android总能给我一些惊喜,例如popwindows这个设计,他作用是弹出一个窗口等,或者你可以把他看作一个acticity,效率却比activity快很多。 利用popwindows,你可以做出风格各异的消息框,菜单栏,下拉菜单等等。
另外还有一个抽屉类也很特别,他就像触屏系统的解锁一样,拖动手柄,便可拉出一个界面,这种设计大大地节省应用的空间,减少切换界面的操作,从而降低应用的功耗。
告诉大家一个很多人不注意的地方,android应用如果进行横竖屏幕切换的时候,进程会完全关闭后,再重新打开的,因为android做了保存状态的操作,所以很多人会以为屏幕切换后,进程还是本来的进程。
qt跟android有很多共通点,例如android的activity就如qt的qwidget,当然,他们的状态机有着很大的区别。
qt最大的特点是他的信号槽,通过信号和槽的连接,可以把很多类与类间相关的函数连接在一起,甚至可以传递参数
第3篇
首先我是一个女孩,学软件开发的女孩相对于男孩来说并不是太多,但是因为我自己对编程比较感兴趣,所以就从事了这个行业。
我们学校的学生从20xx年的下半年就已经开始出来实习了,据我所知我们计算机系的学生大都从事别的行业去了,从事计算机行业的人数非常少,我想大部分是没有过硬的技术知识的原故,不敢去应聘本行业的工作吧。
我一直是一个有上进心的女孩,对软件编程有很大的兴趣,总想着自己也要像男孩一样,做一番属于自己的事业,不能白白的虚度自己的青春,但我又不想从事与计算机沾边的初级职位,比如文员之类的。因为如果自己的.第一份工作从做文员开始,以后自己的职业生涯就不好规划,肯定会离软件编程越来越远的。
说实话我的家庭条件并不富裕,但是我有一个非常支持我上学的父母,他们狠狠心在我上了几年大学之后又给我交了几千元的培训费。从那时候起我就想着我一定要好好学习,对得起父母。
就这样开始了我的培训旅程,其实说实话在培训的过程中我是时而感到特别迷茫,时而又有了奋斗的激情,这不免有个人的因素,也有培训环境的影响。
在这里我想提醒一下那些想参加软件培训的学生,在你们选培训班的时候一定要看清这个学校以前培训学员的就业情况,特别重要的是培训老师有没有教学经验,一些培训机构总是以赚钱为目的,鼓吹着自己的培训老师拥有几年几年的项目经验,其实我感觉没有教学经验的老师还不如项目经验少一些的老师。
我们培训部就是一个例子,我有时候就感觉听我们老师讲课简直是一件非常痛苦的事情,他讲课从来就不备课,只是根据自己的工作经验,想到哪个知识点就讲哪个,我们听课的学生一点思想准备都没有,而他常常在课堂上为了调试一个程序的一个小小的错误耽误一两个小时的时间,而这期间往往也是我们最煎熬的时候,因为我们要坐在那个地方陪着他找错误,这种情况下的我们非常受折磨,并且感觉时间都白白浪费掉了,以至于根本没有什么收获。
再来谈谈我自己的情况吧,我在大学期间编程语言学的还算不错,当时我们只开了c++、java两门编程语言课,还有软件开发相关的sqlserver20xx数据库,我的这三门主修课程每次考试都很优秀,参加培训时也有老师劝我学软件前台,网页设计什么的,说是女孩比较适合学这个,好就业,而软件开发大都是男孩子,女孩几乎是学不通的。我当时就是为了证明自己的能力,根据大学期间自己的学习情况,我相信自己能学好。
但是也因为我们老师讲课的无计划性,课程拖到现在还没有结束掉,时间已经过去6个月了,我开始思索我自己的人生了。
经过四个月的培训,我不能说我没有学到什么东西,但我还要说一点,我虽然每一样技术都知道了,但是我学的仅仅还只是一个皮毛而已。软件开发最重要的就是编程思想,可我现在的水平只是编写代码达到非常熟练的程度罢了,对于编程思想感觉还是没有踏入软件开发的门槛。而编程思想主要来自于你所做过的实际项目获得的经验。而我们培训部的项目不仅少而且不怎么实用。所以要想参加培训还要看清这个培训部的项目是不是够份量,没有实际的项目经验去应聘软件开发的工作还是不行的。
经过仔细的思索,我已经决定去找工作了,现在正是找工作的好时候,虽然我没有多少项目经验,但我相对于应届毕业生自信多了,也许这就是培训的力量。不过哪怕找到一份小小程序员的工作干着也行,因为现在对自己的职业定位还有点迷茫,我自己的性格属于那种做事情非常认真、踏实、细心,感觉更适合做软件测试方面的工作,对于软件开发我还是抱着先试试工作的态度,主要源自于我自己头脑反应太慢,估计一直做软件开发对职业发展前景是有碍的。
最后告诫那些还在上大学的朋友们,如果你们想在软件行业发展,那你们一定要在上学期间多上网看一些编程方面的视频,自已尝试着把企业要求的知识点自学一下,跟着视频做一些小型的项目。其实自学知识点是不难的,只有你有恒心。因为我培训的感觉就是公司要求的一些东西很多并不是我们不懂,而是我们在学校其实是连听说过都没有听说过,这样的话哪个公司会愿意。
第4篇
这次软件工程实训是从20xx。12。26号开始的,截至20xx12。31号。实训内容是用java相关知识(主要是jsp)做一个物流配送系统。下面谈谈对这次实训的看法。
因为自己平时对java知识储备不足,特别是jsp这一块基本不了解怎么回事,所以一拿到这个项目,我心里都是没有底的,再加上我被分到的那个组,我知道就意味着是我一个人在战斗了。呵呵,26号,实训开始了,我们的老师是来自中软国际公司的程序员,一个是周褀,一个是朱映,都是一身朴素的着装,让我感觉做软件的也没什么两样。老师介绍了自己之后,就直接切入正题了,分析了下我们各个组的系统,即将用到的知识,然后就总体把觉得需要补充的知识(jsp和数据库连接等这几块)给我们实际操作了下,因为当时看到用jsp,还讲的那么认真,当时我就后悔了,平时要是多听点,现在老师这么认真的给我们讲,这是一个多么难得的机会啊。后悔也没用啊,开始还勉强能理解一点,后来就直接晕了。然后再给大家介绍了一些即将用到的工具,比如rationalrose,svn,myeclipse等等。接下来的几天就不再细讲了。下面谈谈通过这次实训的心得体会吧。
通过这次实训,让我了解到工程开发的过程,可行性分析——>需求分析——>概要设计——>详细设计——>代码编写——>测试——>验收。从技术方面上,我开始jsp基础基本上就是零的,在老师和syz2(另外一个物流小组,我一个人基本上是跟她们做的,或者说是看着她们做的)的帮助下,对jsp有了一个大概的认识。其实实训开始前,我还以为做个系统没什么大不了,可是当真正拿到一个项目,我却真的无从下手了,而且就是在知道需求分析和详细设计,在代码编写时,一样寸步难行。通过这个实训,也让我了解到,团队协作是多么的重要。一个人的精力是多么的有限。进一步理解到,企业为什么如此重视团队协作。同时借用老师的话就是团队协作固然重要,但是是建立在个人素质的.基础上,假设你个人素质不行,将会影响到整个团队,就别提对团队作更多贡献了。**老师说这几句话的时候,朝向了我,估计是有特殊意义的吧,所以,我将谨记老师的教导。
还有一个收获是从一个同学(小胖)那里得到的,他的那组成员跟我的这组大体一样,我倒是觉得没什么了,不过他倒是很重视这个问题吧。然后他说出来,我也觉得这个问题确实其实是个大的问题。就是不管你会不会这门技术,会不会做这个东西,态度要正确才好,就算你不会做,你也应该认真的对待,将来 出身到社会,就不是说像你现在,不会做就不做,跑去玩游戏了。小胖说出了这段话,也在我身上有了一个印证,虽然我jsp技术知识为0,但我也还是在认真的跟着他们一起做,不会做,就多问,毕竟现在我们是学生,可以毫不顾忌的询问各种问题,老师也会尽力为你回答。将来出身社会就不一样了。虽然,我就算个打酱油的水平,但是这个酱油也要打得有涵量啊。不管怎么样,我能对自己有个交待,虽然我不会,但是这次实训我确实是认真对待了,六天的实训,除了晚上加班外,还花了2个通宵来完成不同阶段的任务,完成与否也不重要了,我至少我做了,这点,是这次我应该对自己的一个肯定。
这次实训的心得基本上就是这些了,最后特别感谢中软国际带我们的那两个老师(周褀,朱映),这两个老师对待我们很平易近人,对我们提出的问题,总是不光解决了,还进行了扩展,晚上也跟我们一起加班加到很晚,印象尤其深刻就是朱映老师为了给小胖解决一个问题,脸都变红了,还在继续努力,这点我并不会觉得老师知识储备不够,我想应该是这个问题的突发吧,一时没想到怎么处理。相反让我感觉更多的就是老师很认真,很负责。还要感谢就是syz2小组的倾力支持,辅导。
第5篇
时间过的好快啊,为期三个礼拜的实习生活即将结束了,短短的三个礼拜让我们收获很大,专业知识、编程水平都有很大的提高。刚开始三天的高强度的课程安排让我们受益匪浅;接下来的上机实习又让我们可以巩固了课程。这让我觉得实习生活充实而有意义。辅导老师配好了环境之后,我们开始了项目的.制作,这次项目实习算是自己小学期间主要完成的项目。最后,自己的努力还是有收获的,看着电脑上记录得满满的代码,看着自己的项目最终能够运行成功,就觉得很有成就感。
在本次的实习中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。除此以外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这次所学知识与实际的应用,理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也真是受益匪浅,在短短的一个星期中让我初步从理性回到感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!相信这些宝贵的经验会成为我今后成功的重要的基石。
在此,我非常感谢学院领导和指导老师对这次实习的大力支持。
1财务出纳工作总结5篇
本文是一篇关于财务出纳工作总结的文章,主要分析了该工作中的难点、优点以及需要注意的事项,旨在为财务出纳工作提供参考和改进...
查看剩余 70% 财务出纳工作总结5篇
2中班语言活动教案范文汇总5篇
本文整理了多篇中班语言活动教案范文,涵盖了多种教学内容和方法,有助于教师们提高课堂教学效果。可供中班教师参考借鉴。...
查看剩余 83% 中班语言活动教案范文汇总5篇
3老员工工作总结5篇
本文以“老员工工作总结”为题,总结有经验、有智慧的老员工所做出的贡献和工作成果,探讨如何减少退休人员对企业的影响,以及如...
查看剩余 74% 老员工工作总结5篇
4暑假游泳作文5篇
随着天气的升温,游泳成为了许多人的选择,特别是在暑假期间更是成为了一种热门活动。游泳不仅能更好地锻炼身体,还能在炎炎夏日...
查看剩余 70% 暑假游泳作文5篇
5月度优秀员工评选方案5篇
本月各项工作正式进入冲刺阶段,为了激励员工们的工作积极性和创造性,我公司特地推出了“月度优秀员工评选方案”,旨在对表现突...
查看剩余 71% 月度优秀员工评选方案5篇