- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写易于理解代码的六种方式
对于一名开发人员,时间是最宝贵的资源。本文所要介绍的这六种编写可维护代码的方
法可以保证让您节省时间和少受挫折:在编写注释上多花一分钟,会让您少受一小时研读代
码的痛苦折磨。
我学习编写、改善和维护代码的过程是很艰苦的。在过去的 12 年里,我一直在编写计
算机游戏并通过曾红极一时的共享软件技术进行网络销售,并以此为生。这就是说,我常常
要从空白的屏幕开始从头编码,当代码达到数万行之后才能拿去销售。
这也就是说,如果我出了错,我必须要自己去解决问题。当我在凌晨三点还在竭力寻找
bug 的时候,看着这些不知所云的晦涩代码,我不禁自问: “我的天啊,这些垃圾代码究竟
是哪个笨家伙写的啊?”,很不幸,问题的答案是 “我”。
在学习了良好、正规的编码技巧之后,我大受其益。本文就包括了其中的一些实践。具
有丰富经 的资深程序员大都对这些内容烂熟于心。他们可以通过本文优美的散文式的介绍
再重温一遍,并可回顾一下在采取清晰编码的理念之前,编码是多么地令人头痛。
但更多的人会如同我一样,是无意间跌跌绊绊地闯入编程领域的,而且没有人为其灌输
这些编程技巧和理念。本文所要介绍的这些内容对很多人来说也许很基础,但对于其他人来
说却是极为宝贵的资源,因为之前没有人告诉过他。所以,如果您不想走弯路,那么本文将
非常适合您。
为了便于解释,本文全篇都将使用一个示例太空游戏程序,称为 Kill Bad Aliens。在
这个游戏中,您将通过键盘来控制一个宇宙飞船,它可以在屏幕底端水平向前或向后移动,
还可以向上发射子弹。
游戏发生在称为 Wave 的各个时间 。在每个 wave,外星人都会一个接一个地出现在屏
幕顶端。它们到处飞,还会投掷炸弹。外星人将按固定时间间隔出现。在杀死一定数量的外
星人之后,一个 Wave 就告结束。
杀死一个外星人会给您加分。当结束一个 wave 时,根据您完成游戏所需时间的长短还
会有额外的分数奖励。
如果被炸弹击中,您的当前飞船就会炸毁,另一个飞船继而出现。如果被炸毁超过三次
以上,游戏就结束了。如果您的得分很高,就会被晋级为 “人”,如果分数很低,就不能。
现在,我们可以坐下来开始用 C++ 编写这个 Kill Bad Alients 游戏了。首先定义几个 象
来分别代表飞船、玩家的子弹、敌人和敌人的子弹。然后再编写代码来绘制这些 象。还需
要编写代码来让这些 象可以随着时间的推移而到处移动。另外,也需要编写游戏逻辑、外
星人 AI 以及能感知用户击键用意的代码等等。
那么,我们该如何实现这些以便当游戏编制完毕后,代码易懂、易维护,最起码地,不
会一团糟呢?
提示 1:经常注释
请经常为代码添加注释。假设您编写了一个过程,但没有为它做注释,几个月后,您再
回过头来想 它进 一些修整(您绝对会这么做),将需要花费很多时间去研读这些代码,原
因就是因为您之前没有做注释。而时间是您最为宝贵的资源。丢失的时间是永远也找不回来
的。
但注释和其他事情一样也是需要技巧的。只要多练习,在这方面的技能就会不断 高。
注释有好有坏。
最好不要将注释写得过长。假设为一个函数做了注释,而这个注释在将来可以节省您理
解代码所需的时间,比如说 10 分钟。这很好。现在假设所编写的注释过长,您花了 5 分钟
编写这个注释,之后还要再花 5 分钟读懂这个注释。这样一来,实际上没有节省任何时间。
这不是一种很好的做法。
当然,也不要将注释写得过短。如果在一两页之长的代码中找不到任何注释,那么这
代码最好清晰得 “晶莹剔透”,否则将来研读所需的时间将会很长。
再有,注释的方式不能太死板。当刚刚开始编写注释时,人们往往会头脑一热,写下这
样的注释:
// Now we increase Number_Aliens_on_screen by one.
Number_Aliens_on_screen = Number_Aliens_on_screen + 1;
这么明显的东西显然不需要注释。如果代码非常混乱以致于需要逐 注释,那么更有利
的方式是首先简化代码。在这种情况下,注释并不能节省时间,反倒会消耗时间。因为注释
需要时间去研读,而且它们分布于屏幕上的实际代码中的不同位置,所以在显示器上一次只
能看少许的注释。
此外,千万不要这么写注释:
Short get_current_score()
{
[insert a whole bunch of code here.]
return [some value];
// Now wer
文档评论(0)