《游戏编程模式》一1.4 坏代码中的好代码

    xiaoxiao2024-01-16  154

    本节书摘来异步社区《游戏编程模式》一书中的第1章,第1.4节,作者: 【美】Robert Nystrom (尼斯卓姆) 译者: 赵卫兵 , 许新星 , 姜召阳 , 陈侃 , 屈光辉 , 郑炯彬 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.4 坏代码中的好代码

    这使我想到的下一个点是,编码风格讲求天时地利。本书的很多部分是关于编写可维护的、干净的代码,所以我的意图很明确,就是用“正确”的方式做事情,但是也存在一些草率的代码。

    编写架构良好的代码需要仔细的思考,这是需要时间的。更多的是,在项目的生命周期内维护一个良好的架构需要很大的努力。你必须把你的代码库看作一个好的露营者在寻找营地一样:总是试着寻找比眼下更好的扎营点。

    当你准备要长期和那份代码打交道时,这样是好的。但是,就像我之前提到的,游戏设计需要大量的试验和探索,特别是在早期,编写一些你知道迟早要扔掉的代码是很稀松平常的。

    如果你只是想验证一些游戏想法是否能够正确工作,那么对其精心设计架构就意味着在想法真正显示到屏幕并得到反馈之前需要花费更多时间。如果它最终没有工作,那么当你删除代码时,花费在编写优雅代码上的时间其实都浪费掉了。

    原型(把那些仅仅在功能上满足一个设计问题的代码融合在一起)是一个完全正确的编程实践。然而,特别提醒下,如果你编写一次性的代码,那么你必须要确保能将之扔掉。我不止一次看到一些糟糕的经理重演以下场景。

    老板:“嘿,我们已经有想法了,准备尝试下。只是一个原型,所以不必感觉必须要做得正确。大概多久能实现?”

    开发:“嗯,如果我简化很多,不测试,不写文档,不管bug,我几天内就可以给你一些临时的代码。”

    老板:“太好了!”

    几天后……

    老板:“嘿,原型写得很不错。你能花几个小时清理下代码然后开始真枪实弹的干么?”

    有一个小技巧确保你的原型代码不会变成真正的代码,就是使用不同于你游戏使用的语言来编写。这样的话,你就必须用游戏使用的语言重写一遍了。

    你需要确保这些使用一次性代码的人们明白这种一次性代码看起来能够运行,但是它却不可维护,必须被重写。如果可能,最终你也许会保留它们,但需要后续修改得特别好。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)