软件开发程序之进阶
做程序也有不少时间了,一直感觉自己能力驻足不前,分析又分析,得到此文.
程序入门的普通程序员,重视的更多的是:
程序的功能性.
实际上,一个程序软件,这个功能性仅仅是最低的要求,若希望进一步提高,不应当锁死在API的使用了解上,更多的应该放眼于
程序的健壮性.(对每种可能出现的情况进行及时的处理.)
这是个考虑逻辑和严谨性的工作,我们需要考虑到每种可能,每种用户非常规的操作,每种奇特的硬件.
从代码上来说,应当是多使用Assert,Try..Catch的工作,并进行内存检测,各种平台的检测,对不同平台.硬件的支持.
程序的高效性.(对效率的需求)
这是个很考验程序员根底的工作,要求对编译底层有相当的了解.
我们找出程序中调用频繁的,瓶颈部分,进行优化.能减少一块的浪费就减少一块,能提高一些效率就提高一些.除非对部分模块的汇编优化,大部分都表现在细节中.需要长期的加强.
程序的可扩展性
没有什么程序能一蹴而就的,大部分都会对其进行修改补充以达到更多的完善,那么就需要不停的对程序进行修改,扩充,若先前的代码写的很死,那么之后的困难是超乎想象的.
这更是考验程序员构架的能力.就个人看来,这条是仅次于程序功能性的.
程序的易用性,清晰性
易用性在游戏开发领域不常见,个人的理解应当是接口函数的命名和封装应该重视起来,更方便舒适的提供给其他人吧.
清晰性在设计方面更多的是简洁的逻辑表现,但这同时与可扩展性,安全性等有一些冲突,需要斟酌.其次就是命名规范和注释方面可能更多些吧.
程序的可靠性,安全性
个人愿意将其归总于健壮性之中,从字面也可以理解,就不多说了.要说消息封包加密,防止Hook等措施,更多的是在逻辑处理时加一些措施吧.
程序的可移植性,兼容性
避免使用平台相关函数和库,尽量采用平台无关的第三方库,是在程序初始时应当考虑的一些事情,这就要求开发者的知识面了.
整体来说,短时间内应当优先重视可扩展性和健壮性,其中可扩展性更多的是架构时的设计思想,健壮性更多的是重视编码时的细节.是属于我当前编码时候最应注意的部分.
近期重点查阅<游戏编程精粹1-6>
学习一些软件设计思想,另多挖一些底层,必要的时候将汇编重新整理一下,可能会过当前的这个瓶颈吧.