这几天参与了一个c语言和c 语言是不是应该算一种语言的讨论,引发了写没写过大项目的质疑。我先自我介绍一下,我03年参加工作,毕业后就进入了当时可能是最火的电信软件开发行业,开始写c语言,unix下c语言。当时中国移动是最有钱的甲方了吧,主机都是IBM 小机,hp的也用,但是没有IBM的数量多。aix、hp-ux都用过,直到linux。我当时做账务处理,主要就是算月租,把话单变成账单,对账单做优惠,收用户的手机费。
有人说计费系统不算大项目,但是就我从业的这么多年看,至少不是小项目。我也没再参与过更大的项目了。
转回到软件开发,一个软件项目,是由很多功能模块构成的,有前台,有中间件,有后台,有接口,有主机监控,有统计分析报表等等。每个大类里面,还要细分更多的子模块,子功能等等。我想任何一个项目经理、系统架构师,都不可能把这样的项目写到一个main里面,代码写几百万行吧?按照项目管理的理论要求,项目要进行分解,形成wbs,切分成最长2周的工作任务包,那么我们肯定会把模块细化,切分成细小的功能点,按照原来的软件工程理论,这可能叫解耦吧?再按照中国软件工程师的特点,独立个体都是龙,捏合到一起往往1 1不一定大于2,所以拆分功能模块,最合适的就是拆分到一个模块一个人负责,与其他模块交互,架构师或项目经理参与,双方谈好接口,这样既保证了软件的可靠性,又提高了工作效率,工程师离职后也不会对整个系统有大的影响。
写具体的一个程序也是,因为我只会c语言,我就拿c语言举例。写一个程序,不是一个函数从头写到尾,写几万行,那样不叫程序,也不是一个成熟的有水平的程序员干的事。一个程序,也是由多个模块、多个函数构成,每个函数最好不要超过1000行,一些功能关联性高的,组成一个lib库文件,lib库可以有层级,平级直接没有调用关系,高层级可以调用低层级,层级也不易太多,5级足以。这样开发,主程序中按照事物或数据的处理流程,调用相关的函数即可。编译也方便,代码复用率也高,出了问题也好查。
总之每个人写程序的习惯都不一样,选择适合自己的就好。至于大项目,我真的觉得你可能就是参与了其中一块而已,如果真有人纯手撸500万行代码,请收下我的膝盖,我对您顶礼膜拜,您永远是我的神!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。