2019-05-20 【c#】代码技巧归纳记录

1.不知道是否需要写成public的时候,先写成private。
2.要保证代码有一定的原则性,比如说,调用关系的确定性,不要相互调用。若遇到需要相互调用的地方,不要用单例,
可以通过事件的监听来确定方向。若事件参数和预期参数不符,可以再声明一个信号,使用信号二次转发。
3.写到现在,感觉UI和逻辑的分离也不是非做不可的;可以把它们考虑成组合模式,UI和逻辑共同组合成某个代码块。

下面例子,就是把UI和逻辑放到了一起。子UI控件把需要处理逻辑的信号,转发给管理器,统一由管理器处理综合逻辑。


image.png

4.有人需要对数据进行处理的时候,不要直接放数据给他们。提供各种辅助方法。

image.png

5.Convention Over Configuration:约定大于配置。例:
image.png
确定的约定下,我们只需要截取末尾的数字即可,不需要另外特殊配置。这种东西还是要看具体情况。

  • MFPS插件学习

这是一套基于PUN2的联网FPS游戏源码。
看到一点记录一点心得吧。希望以后我能够随手写出逻辑清晰结构优良的代码。

1.Kit_IngameMain
核心逻辑都在此处运行。
列出了所有游戏要用到的功能模块,变量,物体,预制体,如:游戏信息模块,玩家Prefab,相机,玩家显示HUD模块,击杀显示模块,粒子撞击处理模块,积分面板模块,
胜利UI显示模块,等等...
凡是分了模块处理的,它都写成了抽象类,抽象类基本继承自Monobehaviour/ScriptableObject,里面象征性的写了几个该模块一定要做到的函数或是代表性的变量,具体实现根据不同的子类实现,即可实现多样性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,174评论 1 32
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,312评论 6 13
  • 家是每个人的港湾,无论世事如何变化,无论生活清贫和富有,我都很庆幸我生活在我们家,感觉无比的幸福。 跟我妈打电话的...
    江湖不挨刀007阅读 438评论 4 4
  • iOS11真机调试,镜像文件下载链接: https://pan.baidu.com/s/1skBxqAp 密码: ...
    MartinCQ阅读 1,499评论 0 1
  • 今天晨读分享的书是《西尔斯亲密育儿百科》中的按摩、拥抱和睡眠,读的过程中很多美好回忆! 想起珺珺软软的在我怀里对我...
    栀子花0129阅读 169评论 0 0