怎么让代码的逻辑更清晰?
来源:互联网 发布:mac微信怎么视频 编辑:程序博客网 时间:2024/05/02 02:35
链接:https://www.zhihu.com/question/65888363/answer/236049180
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
楼上有很多朋友说先把游戏做出来再说,也没啥问题。但是。。。
就像收拾屋子一样,有的人不爱收拾,但是总能找到想要的东西,有的人喜欢收拾干净,方便以后忘记什么东西好去做寻找。其实编程一样的,我个人觉得如果你是个人的项目,随便吧,看你自己。但是若团队项目你的代码是否清晰就关系你的假期呀。
<img src="https://pic3.zhimg.com/50/v2-80a6178bf54907379349a907079f9ee2_hd.jpg" data-rawwidth="396" data-rawheight="223" class="content_image" width="396">比如说你代码写的好,别人能看得懂修改,OK,你请假出去玩了,公司出了事情你就可以叫一下同事帮你修改,只用说“帮我看一下XXX模块的XXX函数,这是做XXX功能用的,这里帮我判断一下XXX”,不然你就得想方设法远程连接电脑,甚至赶回公司解决问题了。
还有就是代码清晰可以提高查错的效率,你代码越清晰查错的时候就越不会被其他代码所混淆,个人觉得还是有所必要。
行,我个人来说干巴巴的,还是举例几个吧。
1.模块化代码
以下是我从http://blog.csdn.net/u011344883/article/details/9989469 的调试和查错方法里面节选的,能很好的说明模块化对寻找问题分离概念的好处。
<img src="https://pic2.zhimg.com/50/v2-5a43bff3ae3a02460b0f78a179af7811_hd.gif" data-rawwidth="500" data-rawheight="282" data-thumbnail="https://pic2.zhimg.com/50/v2-5a43bff3ae3a02460b0f78a179af7811_hd.jpg" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/v2-5a43bff3ae3a02460b0f78a179af7811_r.gif">缺少架构的代码是难以修复bug的主要源头。只要代码易于理解,而且理论上行得通,那么对于程序员来讲,找到并快速修复bug并不是什么棘手的事情。另一方面,越是重要的代码出现错误的几率就越大,找到这个错误相对也就比较困难。
设计软件的组件经常需要考虑一点就是所谓的代码模块化,代码模块化可以帮助程序员更好的用两种方法来理解软件系统。第一,模块化能够创造出一定层次的抽象感,在没有完全理解所有细节的情况下也能想象出系统的模型。比如,程序员正在构建一个商业系统,可能会考虑到信用卡处理模块,然后观察这个模块和其余代码有什么联系,根本不用考虑信用卡处理模块的所有详细内容。第二,模块的详细说明,这个详细说明是不会和别的模块内容混淆的,就像每个卡只有一个卡号是一样的。
2.做一些单例来统一实现重复的代码
我们经常写代码的时候会发现这个代码在某个模块写过,这个时候就可以想想可以不可以把代码封装到一个单例中做调用。这样的好处在下次再遇到重复的问题不用再写一遍,同时如果代码出了错,也可以只修改一个函数就搞定,而不是每个模块去改一遍。
然后你代码会健步如飞
<img src="https://pic4.zhimg.com/50/v2-67129239d5f13e3ce9e0391f4c1c70eb_hd.gif" data-rawwidth="364" data-rawheight="282" data-thumbnail="https://pic4.zhimg.com/50/v2-67129239d5f13e3ce9e0391f4c1c70eb_hd.jpg" class="content_image" width="364">3.配置化资源
这个和美术资源、游戏的表现相关了。游戏中经常会用代码去处理美术的表现,新手写代码的时候喜欢直接在代码里面写具体的数据,比如做一个攻击表现,播放具体动画到具体3秒结束,然后一个具体名字特效在1秒后到达什么地方,然后2秒后删除,就直接写代码中了。其实可以做一个简单的攻击配置,代码不去关心具体的值,只关心具体的流程。比如还是一个攻击表现就改成,我们有一个攻击的配置,将配置传入攻击函数中。播放XX动画到X秒,播放XX特效再XX秒后删除,如果有其他的攻击表现,就只用修改攻击配置就好了,不用去修改具体的逻辑代码。
这也就是数据和逻辑分离。
代码逻辑结构清晰的好处也在于二次利用,比如你做完一个项目,下个项目要开发相似的新游戏,就可以修改修改这个项目的玩法模块就搞定了~。
当然也可能经常变成这样:
<img src="https://pic4.zhimg.com/50/v2-6f17ee706fd5cee7b232cb6b70f98c67_hd.gif" data-rawwidth="400" data-rawheight="240" data-thumbnail="https://pic4.zhimg.com/50/v2-6f17ee706fd5cee7b232cb6b70f98c67_hd.jpg" class="content_image" width="400">- 怎么让代码的逻辑更清晰?
- 重构-让代码更清晰
- 值得推荐的优秀编程字体/代码等宽字体收集下载 - 让代码显示更整齐清晰美观!
- 让欢迎窗口更清晰
- PS怎么把图片处理的更清晰
- 微软的技术 让xp中的字体显示更清晰
- 让Windows XP中显示的字体更圆润清晰
- 让你的Mac 终端显示更清晰
- 工作量!清晰的逻辑!
- 思维逻辑的清晰
- LaTex 带边框逻辑清晰的伪代码
- 编写业务逻辑代码-清晰可维护是很重要的
- code-review: 去掉多余的缩进,代码会更清晰。
- android 快速开发(一)抽象类的使用:使业务逻辑更清晰
- ASP网页模板的应用: 让程序和界面分离,让ASP脚本更清晰,更换界面更容易
- 如何让你的代码变得清晰整洁
- LDA更清晰的解析
- 推荐几个不错的jQuery图表插件,让你的报表更清晰动感
- Android中Handler的使用
- QMediaPlayer 播放音频,迁移后没声音
- POJ3254-Corn Fields(状压dp)
- 滚动条事件
- Java -- Runnable
- 怎么让代码的逻辑更清晰?
- Oracle归档模式下恢复-4种数据库完全恢复方法
- js 判断一个 object 对象是否为空
- PHP 实现多网站共享用户SESSION 数据解决方案
- HDU3917 最大权闭合图
- win7+VS2008安装boost
- IDEA插件配置之Eclipse Code Formatter
- Spark_任务执行过程
- ThreadLocal