软件开发心得

拿到需求并确定在已经充分正确理解现有需求后,不要着急写代码,拿出集中的时间做prepare:

在第一张白纸的上方写下“该需求特性的正常流程和影响范围”,然后在白纸下方逐条开始写下该需求特性正常流程包含的内容,大概会使用到哪些库函数,会提供出哪些接口,是否会影响版本升级,是否影响资源文件,是否影响原有的接口等等。

在第二张白纸上方写下“该需求特性所有的异常场景和本人以往经常会犯的一些错误点”,然后在白纸下方一条一条的开始往下写。

这是通过一种自我驱动方式让自己写出优秀的代码。

另外一个就是掌握尽量多的重构方法,重构思维方式,掌握重构并不一定是要对原来代码的重构,而是下笔之前就知道好代码该怎么写。

写代码之前要把自己当做成品的使用者(包括考虑到各种测试用例),从这种角度出发,写出的代码缺陷越来越低,你的代码是为了别人看的,见名知意,不管是整体的逻辑架构,变量函数命名,每一步都要细细斟酌。

路还很长,一直没有正儿八经入门,为时不晚,go on.

时间: 2024-12-05 12:32:45

软件开发心得的相关文章

软件开发心得体会--万一我们遇到不可解决的难题

      进入软件行业已经快十年了,从最初的懵懂的青年我已经熬成了近乎一个大叔.在将近十年的工作过程中,遇到过无数的问题,而在每一次成功跨越每个问题时我都会有一种深深的征服感与幸福感藏在心里,因为我知道在这个行业我又前进了一步,也因为现实中的高人无处不在,所以也只有把征服每个问题过后的喜悦藏在心里.在经历每个问题被征服的背后,心态是无比重要的,超过了一切,甚至技术. 1. 确认问题来源 如果遇到一个难以解决的问题,一定要先从自己的代码入手,逐个字母去检查且每一个细节都不要放过,有时自己起的变量

阅读一些关于软件开发本质和开发方法的文章的体会与心得

在本次软件工程课程当中,我已经经历了一次比较成功的个人项目,一次比较失败的结对编程项目,以及即将开始的团队项目alpha阶段.在这段时间,应教师的要求,我开始阅读一些有关软件开发本质和开发方法的文章,在此记录一些体会与心得. 文章一: No Silver Bullet: Essence and Accidents of Software Engineering by Frederick P. Brooks, Jr. 文章网址: http://www.cs.umd.edu/class/spring

第六周作业-UML在详细设计阶段的使用心得&&UML建模与软件开发过程模型

这周又到了我们项目小组进行详细设计的阶段了.据了解呢,不大喜欢把详细设计做的太细,以便发挥下自己的创造力(初级设计能力).但是借鉴其他国家(如日本)的公司,详细设计不但详细到类级别,甚至每个方法都还有伪代码,这种感觉确实是太不能发挥自己的主观能动性了.不过仁者见仁,智者见智,因为一个初级的程序猿如果先是看别人的设计,然后再开始自己的设计,也许学习曲线就不会那么陡峭,日子也会过的舒服一点儿也未可知. 在这次的作业中我谈到的就是UML在项目实施中的使用心得(详细设计阶段),以及下面的一部分扩展知识:

软件开发项目做需求分析的一点心得

1.需求分析前的准备 在软件开发过程中,需求分析可以说是核心任务之一,就像一支将要远航的船队,要在指定时间内到达目录地,他们需要一条正确的航线,才能到达目的地,如果航线有误,他们将会误时到达,或是不回到原位将永远到达不了,这么重要的东西,但在国内很多团队中缺少,虽然我也做了一些,但在项目完成的时候,回头看看,其实我们做了很多不必要的事,浪费了很多时间.人力和物力,为保证在今后的开发中减少这些错误的发生,现将一些问题记录下来. 为了了解系统需求,先可以从概要式的需求着手,再细化需求,需求分析必须拟

软件开发流程(待改)

软件开发过程的一些心得: 软件开发参与人员:软件开发人员.业务调研人员.客户 1.客户提需求,软件开发人员根据客户需求写<XX软件需求规格书>,详细过程可参见GB/T9386-2008国标<计算机软件需求规格说明规范>,此项主要是为了确认需求,方便后期软件开发使用. 2.需求调研:此时一半由业务调研人员月客户接触参与调研,此时可能会更改需求,因此调研人员要及时与软件人员沟通.调研过程要尽量详细认真,避免后期重新调研,调研结束后,由调研人员写<XX软件功能规格书>,确认完

AEAI Portlet开发心得

1 背景概述 Portlet是AEAI Portal组件API,是基于Java的Web组件,由Portlet容器管理,并由容器处理请求,生产动态内容.AEAI Portal中已经预置了许多Portlet组件,可以直接配置使用.由于不同业务需求也可以将Portlet进行定制开发.本文是本人在中建投项目中由于业务需要动态显示风险统计信息,即对某一风险进行评估时引用不同的风险点对其的影响(可能性与影响程度的乘积)进行分析,并在页面以个数的形式显示不同区间所包含风险点的影响.故而对Portlet的定制开

CN上没有关于IBM的Initiate的文章,由于最近在做这方面的工作,分享下Initiate的开发心得~

MDM:主数据管理系统. Initiate:IBM的一款主数据管理软件的名称. CN上没有关于IBM的Initiate的文章,由于最近在做这方面的工作,分享下Initiate的开发心得-,布布扣,bubuko.com

软件开发中的工作事务与微技能分级评估

工作三四年后,是否感觉自己开始做一些没有提升的事情?是否在做一些低水平重复建设的事情呢? 通过对软件开发中的工作事务与微技能进行评估和分级,可以清晰地理解自己的工作构成.评估自己的当前水平.定位下一步发展的方向和思路. 难度系数 *** 1 1.  完成初级的页面测试: 2.  编写简单非专业的文档: 3.  能够理解基本业务: 4.  日常普通的交流: 难度系数 *** 2 1.  完成一个简单的脚本实现临时需求, 15-20 min: 2.  完成一个函数或方法的单测, 5-15 min ;

一些软件软件开发原则

下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中. Don't Repeat Yourself (DRY) DRY 是一个最简单的法则,也是最容易被理解的.但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事).它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法. 参考:http://en.wikipe