20220319-代码日记
2022/3/20 6:59:00
本文主要是介绍20220319-代码日记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今日整理代码。
前四周的课程结束了,将所学的东西整理整理。代码有些杂乱,可读性小。因此整理了一番。整理的内容可分为以下几个方面:
命名;
减少代码冗余和重复;
修改bug(部分)。
另外还有一部分内容,以后再进行整理:代码注释;代码重构,抽象出框架。
关于命名
代码命名一直是我比较头疼的一个问题。
我正经学过的语言只有c和c#,现在用的最多的就是c#。
之前查过很多命名规范,但是用起来总感觉还是很乱。
昨天又在网上查了查一些关于命名规范的博客:
其中有一篇是微软官方的命名规范:
框架设计准则
我平时所用的命名方法部分与它所规定的命名规范是一样的。例如类名,方法名,接口名,属性名等都是用大驼峰,参数名等用小驼峰。
但是另外一部分是不一样的。到目前为止,我没有找到一种我习惯的命名方法。作为一个强迫症患者,我需要继续寻找一种命名规范,更正我的命名习惯,并且完善各种细节,这样,在以后更换命名规范时,会方便很多。
- 全部的命名都要能见其名而知其意,除了一些特定的广为人知的缩写,其余尽可能写全称。
- c#命名时,在名称中不要出现该变量的类型。例如,
private List<int> ages = new List<int>(); //合适 private List<int> ageList = new List<int>(); //不合适
- 布尔类型用is,can,have等开头。不要使用否定形式开头。
private bool isRun=false; //合适 private bool isNotRun=false; //不合适
- 命名空间、类名:大驼峰命名,并且命名为名词或名词词组。
- 结构体名、枚举名:大驼峰命名。
- 枚举成员:大驼峰命名,名词。
- 方法名:大驼峰命名,命名为动词或动宾短语。
- 接口:大驼峰命名,名词。
- 事件:大驼峰命名,动词。
- 属性:大驼峰命名,名词或者形容词。
- 字段:小驼峰命名。私有字段以下划线开头,并且第一个单词首字母小写。名词。
- 参数名:小驼峰命名,名词。
- 结构体成员:小驼峰命名,名词。
关于命名这一块儿,还需要继续积累经验,积累规范。
减少代码冗余和重复
在编程的时候,需要为工程增加一些功能,例如人物发出技能。一个角色可以同时拥有多个技能,在编写这些技能时,如果每个技能都写一遍,会产生大量重复的代码。这使代码的可读性降低,而且对我来说,代码也不美观。因此,我将相同的部分进行了抽象,让具体的技能都继承于这个类。并且利用虚函数,减少代码冗余。
具体就是Skill系列代码,进行了抽象,并且代码的编写速度大幅提高。
另外,有很多资源需要Resources.Load出来,需要提供具体的路径。但是这些路径一旦改变,再去找各个脚本中的路径,会很麻烦,因此,我将这些路径都写在一个GameDefinition类里面,写成字符串常量。这样进行同一管理,方便修改和查找。当路径发生变化时,直接去这个定义类里查找和修改。
修改Bug(部分Bug)
今天的bug,仅仅指运行中出现的错误,不包括运行中的不完美的地方。
我稍微有些追求完美,现在已经在尽力改掉这个毛病了,因为追求完美真的很耽误事,它只会加重我的拖延症。
在运行时,
public override void RecieveMessage(MessageClass message) { base.RecieveMessage(message); if (message.Command == MessageType.Quest_AddQuest) { //--------这一块是从0 开始,但是任务id从1开始。---------待解决---------- //原因:在inspector面板上,NPC乔巴的taskId是0,因此,出现错误。 AddQuest((int)message.Contend); } if (message.Command == MessageType.Quest_Enemy) { AddEnemy((int)message.Contend); } }
这一块是出了错误的,原因是字典中没有message.Content这个键值。在联调之后,发现这个参数值是从0开始。无奈之下,我只能将该值进行加1。这样,工程能正常运行了。
在调整NPC时,发现NPC身上的一个参数赋值为0,导致了工程在运行时报错。再次将它赋值为1,然后message.Content恢复,将“+1”去掉,这样工程不再报错。
在进行多个NPC开启任务时,又遇到了报错。这个错误在今天即将结束之际还没有找到。
另外,关于Application.dataPath,Application.streamingAssetsPath这两个的用法还没有完全弄明白;XML和json两种文件的解析和用法也不清楚。需要继续学习。
该工程项目需要继续优化。让代码变得更加优美,提高代码可读性,抽象出一个合理的框架。
工程文件之后进行托管。
本篇日记用时:大约一小时。需要提高速度。
今日代码修改:用时约6小时,增删改代码量不到100行。
需改进的地方:编程速度慢,需要多写代码。本月剩余时间,需要写200行有效代码。
这篇关于20220319-代码日记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南