什么样的技术可以在软件开发团队中积累

谁都知道,站在山顶上,就能比山高。在一定的基础上开发一个软件,大多时候都比从头开始更容易、更迅速。但是,如何形成这样的基础,如何产生更好的技术基础,这是个问题。很多人和公司都进行过这样的技术积累工作,本文将分享一些这方面的想法,与大家探讨。

保留一堆程序,算不上技术积累。很多人可能会遇到这样的情况:你新到一家软件公司工作,部门的主管给你一堆程序,说你先看看,以后你负责这一块东西。这个程序最初是谁写的已经搞不清了,也许是前任的前任,说不定还是个牛人,但几经修改后,已经面目全非。过几天主管找你说这个程序要增加什么东西,改成什么样子。这时你有两个选择:仔细研究原来的程序,并在原来的基础上修改;或者不费这个耐心,自己重写一个。如果新来的是个菜鸟,这堆程序还算有用。但对其它人来说,恐怕只能算是鸡肋了。

可以被积累的技术应该有以下这些特点。

首先它能实现一定的功能。这是很显然的,勿用多说。

其次,它能被重复使用。如果某个功能的实现只能在特定的程序中使用,而对于其它程序没有任何意义,那么它就没有积累的效果。被积累的技术应该能在多个项目中发挥作用,能在新项目的开发中节约工作量。

被积累的技术应该是经过项目实际验证的成熟代码。也许程序里确实有一些Bug,也许程序的实现还不算太好,但至少在实际的项目中,它是可用的。新的项目可能并不需要持续运行100天,但需要快速实现,并保持和以前程序差不多的品质。使用成熟的代码模块可以帮助你完成任务。

积累的技术同时还应该易于学习和使用。较清晰的接口、一定的说明文档都是很必要的。如果学习原有程序比较困难,项目开发人员就可能会自己重写一个程序。必须有一个快速的方法,让项目开发人员知道,这里已经有一个这样的东西,它实现这样的功能,可以如何使用等等。

最后形成的积累技术应该是在多个项目中使用过的模块。罗马不是一天建成的。虽然我们很强调设计,但很显然大多数人的设计水平都无法一步到位。一个软件模块在不同的项目环境使用后,它的软件接口、细分的功能等都会被修改完善,同时它的Bug也会被一一发现并清除。

每一个团队都应该仔细发掘这些技术,形成自己的技术基础,从而在实际项目的开发中起到事半功倍的效果。

作者:苏林

你可能感兴趣的:(工作)