谈谈我们如何积累

来源:互联网 发布:航天发票软件 编辑:程序博客网 时间:2024/05/16 18:57

软件开发,在现在软件开发中,快速开发大行其道。众多公司都要求自己的开发人员在短期的开发过程中能够,尽快的,高质量的开发出符合自己公司需求的产品。那么如何能够快速高质量的开发出好的产品呢?积累在这里就起到了很大的作用。

 我们用盖房子作为一个隐喻先来说明积累的作用(不确定这个隐喻一定准确,只表术自己的想法):

我们盖一个房子,首先要有设计图。有了设计图,那么我们就需要有原料,这里的原料指的是砖,钢筋等等,那么为了符合建房者的要求,采用什么样的原料,我们的原料是采用什么样的工艺制作出来的。我们就需要有原料制作工艺的信息。这样,我们经过筛选找到适合我们的材料就可以开始盖房子了,那么以上的这些过程都需要积累很多东西,比如原材料的制作工艺。原材料的提供商,在以前的合作与实践中相同工艺的哪种原材料更好等等。

那么把上边的这些信息影射在软件开发过程中也是如此。在需要快速开发软件的过程,其实是我们需要建立的一个大楼,这个大楼需要的原材料是我们手上有写什么组件或者曾经写过的类代码,那么这些代码或组件是采用什么样的技术手段来实现的。这里就产生了两个概念性的东西。1、知识点--只有拥有了知识点,我们才能知道我们采用的组件是使用什么样的技术来实现的。2、组件--没有合适的组件我们就不要盖房子了,你的房子的质量一定很烂(我们在下边来详细介绍)

写到这里我们看到了因为有了以前的积累,我们现在开发一个软件是很轻松愉快的一件事情(强烈希望摆脱长期加班的烦恼)。但是这里又有了一个新的问题。我们如何积累,积累那些方面呢,如何管理积累呢?

首先从技术的角度来看我们需要积累的东西有2部分:1、是积累知识点,丰富的知识点能够让我们知道采用什么样的技术更适合我们的产品或软件。2、是丰富而稳定的组件。丰富的组件让我们的开发好象搭积木,把我们的开发中心从技术实现移到了逻辑衔接,从而让我们的产品更加符合用户的应用逻辑和使用习惯。让我们的程序更加结构化。

知道了我们需要积累些什么。下面我们需要探讨的是如何积累。如何积累每个公司,每个人的做法是不一样的。有人喜欢建立一个知识库,有人喜欢把所有的东西都放在自己的脑袋里,这里就存在一个良好的习惯的问题。我提出我的一些看法和建议,1、建立自己的知识库平台。把我感兴趣的,新的技术的文字性的东西都存放在里边。以便我能够在需要的时候很快的搜索到我需要的信息。了解我所需要的知识点。2、建立自己的组件库和类库,需要的时候我能够找到我所需要的材料,不需要今天开发了,明天需要这个我再去开发一编的烦恼。这两点的组成1让我们能够了解和吸收大量的知识点,还可以沉淀我们自己的源材料以方便以后我们去用它。

有了如何积累,那么我们积累了大量的东西不能象一堆垃圾一样到处乱丢吧,那么这时候就需要提出一个观点,如何管理。管理积累其实是很浪费时间的,但是好的管理手段可以使你以后的开发收益无穷。

首先说说知识点的管理,知识点是有文字组成的一些文章、代码片段等等信息,那么我们可以按照文章管理的手段进行分类管理、并建立索引和快速搜索通道(自己开发一个管理系统就可以了,呵呵)

那么下边再说说组件或类库的管理,组件和类库是就本身而言管理是比较麻烦的,首先大多数程序员在写了程序,增加了注释以后就不愿意写文档了,当然我也很不愿意,但是实践证明了好的文档建立习惯能够增加你对你写的组件的了解程度,也给了你一个再思考的时间,另外为你若干年以后再去开发这些东西保留了一份珍贵的存档。

假设你今天写了这段代码,过了1年以后你要用这些东西的时候你突然发现你需要修改这个类中的一个接口或增加一个函数,你是否还能回忆起当时你写的情况?如果你把这个组件给了别人使用,别人帮你发现了BUG而你又不想改,那么别人是否能在最短的时间内修改完成呢?

如果这些给你造成了困绕,我提出我的一些办法希望能够帮住你。

1、在制作和设计时的组件抽象,这个抽象一定要符合大多数软件的应用(在抽象的时候可以加一点自己的想象)。要普及化这些你可以参考网络上可以下载到的一些软件进行对比和归纳,进行抽象。

2、制作组件的时候要细致。也就是说你这个组件在别人拿来使用的时候接口的定义要简单明了,使用方式要符合大众习惯。保证绝对的效率和稳定性,当然也不要忘记代码中良好的注释习惯。

3、建立你的类图。有了一个类图,代表你有了你这个材料的制作工艺图。通过图或文字别人可以尽快的了解这个组件开发时提供的接口和开发构想以及适用范围。

4、组件扩展与维护,每一个组件都需要扩展或维护,以应对千其百怪的需要。那么如何扩展呢?建议:以不改动原有的组件为原则,重新进行封装和扩展。你可以在原由的组件上继承一个新的类,这个类里提供新的接口和属性,或你可以引用这个类,在引用这个类的时候,提供接口和属性。当你的类继承或引用到一定数量的时候,你可以参考设计模式中的一些模式,来进行组件重构,这是一个循环往复的阶段。只有这样你的组件才可以适应各种各样的需求,应对快速开发。这里你会体会到很多设计模式的实现原来是那么科学和实用。当你扩展了你的组件的时候别忘记在你原有的类图上添上一笔以完善你的存档。 

积累是一个长期的可持续性发展的事情,包含了很多点比如知识点的积累,比如组件的积累,同时他也包含了面,比如知识点的管理和维护,组件的管理和维护。

综上所述积累是一种体系,一种习惯,对于一个公司或一个开发人员来说好的积累体系和积累习惯是财富,同时也是向前发展的一个跳板。
(以上是我对软件开发中的积累的一些总结和想法。提供给大家做参考,谢谢)
(可以扔鸡蛋了)