工作室心得

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

工作室学习心得

经过为期一个学年的工作室学习与实践,我掌握了一些基本的软件设计开发相关技能和方法并总结出了一些较为实用和通用的心得。限于个人知识量和语言水平,有理论性错误和措辞不当之处望指正。

巧妇难为无米之炊,进行软件设计开发需要有一定的理论基础作为支持。作为一名软件设计开发人员,必须掌握最基本的软件操作技能(如安装、配置、测试、调试),应当熟知主流的软件设计开发语言和平台并能够时常关注最新的技术动向。软件缺陷和代码质量低下往往是由于理论知识不完备和不良的编码习惯造成的。进行需求分析能够在很大程度上避免非技术性缺陷;合理设置变量类型可有效规避错误操作并降低数据间的耦合度;良好的编码习惯(适当添加空格与注释)可以有效提高代码可读性,这点在代码规模较大时更加明显。经常读一些优秀的代码可使自己受益匪浅,学习一些优秀的算法设计、语句书写甚至仅仅是注释,这些都能够让自己的代码越来越精简凝练。

软件设计开发的发展趋势必然是功能越来越丰富、结构越来越复杂、规模越来越庞大。单纯依靠个人开发者的水平和经验将越来越难以适应现代乃至未来的计算机软件开发,所以应当有一套良好的机制来将个人开发者们有机的组织起来,即所谓的“软件工程”和“团队”。软件设计开发的本质动机是产生效益,只有回报大于投入的软件项目才是值得进行的,即“有意义的”。随着软件危机的出现,软件工程的重要性日益明显。软件工程的主要意义在于:在保证软件项目有意义的前提下,将个人难以完成甚至不可能完成的工作通过一套良好的

机制合理地分配给“团队”中的个人,采用分而治之的方法,将集体智慧发挥到尽可能大的限度。正如那句名言说过的“天下大事必做于易,易事必做于细”。团队的主要意义在于将分散的个人组织起来,在知识资源和经验上互通有无,做到共享和协同。个人开发者在团队中能够获得的知识和经验积累往往比单干时要多,这使得同样的工作能够获得更多的回报,即所谓的“经验价值”。

好的软件设计开发过程必然有其优越之处。

好的软件设计开发过程应当遵循实际情况,即可行性。不能产生效益甚至不可实现的软件项目,其设计开发过程也必然不会是好的。能够产生效益且可实现的软件项目,必然有一定的风险,风险大的设计开发过程必然不会是好的。好的软件设计开发过程应当具备这些美德:对于可实现且能产生效益的软件项目,将其风险降低到最小。

好的软件设计开发过程应该是能产生效益的,根据形如“效益=最总收入-投入成本*(1+银行年利率)^开发周期”的公式,不难发现,软件设计开发过程越短,可获得的效益相对越高。在可获得的最终收入一定的前提下,尽早收回它们才是明智的选择。

好的软件开发过程应该是增量的,即从无到有、从有到优,先让软件运行起来再进行改进。通过增量的方法能够极大限度地规避风险,减少前期投入和无意义投入,能够尽早得到能够运行的原型,同时能够更好的适应开发过程中用户需求的变更。正所谓“船小好掉头”,大概就是这个意思吧。

优秀的开发者应该是勤劳而非劳碌的。

优秀的开发者应该勤于学习和实践,利用自己空闲的时间尽可能多的学习与本职工作相关的知识并进行实践。作为一名软件设计开发人员,英语和数学知识是必备的。绝大多数的编程语言都是基于英语的,多数的变量名、函数名都是英文缩写,多数的说明文档和技术规范文档也都是英文形式的。完备的数学知识可以帮助你更好的设计算法,用数学知识来简化程序流程,规避无意义劳动乃至完成一些复杂的操作。要进行复杂的图形编程而没有平面几何、立体几何和线性代数相关的知识,这是不可能完成的;要求快速变化的量的均根方值而没有高等数学和统计学相关的知识,这也是不可能完成的。

作为优秀的开发者,应该经常在学习一些对自己本职工作有益的知识,而非埋头写代码。

相关文档
最新文档