整个工程是非常庞大的,所以许毅在开始的时候并没有急着动手编写,而是仔细反复地思考、补充。不但从全局考虑其整体结构,还得注意以后要添加新的功能。毕竟,现在他的构思相对来说,还比较粗糙,还有很多细节没有考虑到,到时候肯定会要升级。作为一个大的项目,这些因素都是必须考虑的。需求分析,可行性分析这些都是软件工程的知识,没有参与过大型的项目开发的人是体会不到这些步骤的重要性的。次等的程序员通常是想到什么就立刻动手,准备工作什么都不做,就这么编下去,碰到问题再临时解决,到最后甚至还会加上一些令人难以接受的代码。于是,最终编写出来的源代码已经是“惨不忍睹”,甚至隔了一段时间之后连他自己都读不懂这些代码了。这种凭自己的感觉编写软件的方式在应付小软件的时候通常不会出什么问题,就算出了问题,从头再编写就是了,不用花多少时间。但遇到大型软件的时候,这种开发方式往往能够逼人去撞墙。编写小部分都得花上几个月的时间,哪有这么多时间让你去从头开始?真正有经验的程序员都知道“磨刀不误砍柴工”的道理,他们实现会仔细规划,整个程序会分为几个部分,估计以后将要进行那些功能的补充等等他们将这些经验提取出来,然后经过科学研究,抽象出软件工程学这么学科。
当然,绝大多数黑客的代码编写习惯在正统的程序员眼中都不怎么好,他们对程序效率的追求近乎苛刻,于是,他们的作品当中往往会出现一些生涩难懂的代码,这些代码是那么的奇怪,以至于那些规规矩矩的程序员们想破头皮也百思不得其解。他们往往会发出这样的感叹:“这样也行?”、“变量怎么可以这么用?”、“天!这个算法太巧妙了,他到底是怎么想到的?”这点可以从linus编写的linux源代码中找到实例。
许毅编写的这个工程有点大,可以说是他第一次独自一人开发这么大的项目。给颜玉编写的那个“超级黑客套装”虽然貌似看起来很大,但那些软件都是一些独立的小软件组成的,难度并不是很大。而他现在编写的这个“生死斗”就不同了,整体联系非常紧密,他不但要编写整个仿真系统,而且还制定游戏规则,最要命的是要将这些游戏规则融合程序当中去。所以他才花那么大的时间来进行构思和设计,因为如果以后游戏规则有所变动,那么软件也要进行相应修改,非常麻烦。
本章阅读结束,请阅读下一章
手机阅读:http://m.00kshu.win/235972/
发表书评:http://www.00kshu.win/book/235972.html
为了方便下次阅读,你可以在顶部"加入书签"记录本次(第100章 生死斗)的阅读记录,下次打开书架即可看到!请向你的朋友(QQ、博客、微信等方式)推荐本书,月之子谢谢您的支持!!