Unity3d 脚本开发代码规范
代码规范
代码规范问题是这样的一个问题:高性价比,不被重视,实际做的时候难以做好
- 统一的规范有利于代码简洁,进而利于控制复杂度,关于复杂度可以参见之前的文章(http://blog.csdn.net/toughbro/article/details/48917125)
- 大家都会说需要有一个统一的规范,但是实际做起来,还是容易各做各的
- 实际上能遵从统一的代码规范,我在职业生涯里还没有遇到做的特别好的(真把这个当回事的)
但实际上在工作经历中,在局部小型团队(或者说常常一起工作的几个人)在代码规范上,以及在代码整洁度上做的比较好,这个对于项目的整体健康度是非常有益的–其中排名第一的益处,就是你一直在一个让人愉悦的代码中工作和阅读,这点很棒.
而代码规范最重要的一点就是其性价比,你只需要遵从一个非常简单的规则,一个刚学编程两天的人就可以做到的事情,就可以立刻让你的项目有一个不错的提升,这个对于团队实在是没什么理由不去遵循的.
代码规范的一些原则
这一点上很赞同< game engine architecture >里面的说法:
- 你需要有一个尽可能简单易行的,一个最小集
- 也就是去定义一个最常用情况下的代码怎么写
代码规范的演化和一个案例
开始工作的时候,那时候IDE的功能还很弱,使用的规范需要通过命名方式来表明各个变量的类型,属性等等(匈牙利命名法…)
但是随着IDE的功能变强,基于semantic的语法高亮愈发贴心,代码规范也可以更加简单了,这里是我们在unity3d脚本(c#)使用的一个:
使用一个最简单的,以便于大家开发出统一风格,便于阅读的代码
//ref https://msdn.microsoft.com/en-us/library/x2dbyw72(v=vs.71).aspx
public class CodeStandard //类名大写
{//变量放在类的最前面static public int StaticMember;//static变量放在最前面,public变量名public int PublicMember;//public变量名开头大写,使用大写字母断词private int privateMember;//非public的变量名开头小写,使用大写字母断词public void Func(int param) //函数名大写,参数小写{var localVar = 1; //local变量名小写}
}
一些解释:
- 变量放最前面,Visual Assist里面自带立刻查看文件中函数,所以函数放后面并不影响,但是数据放后面就崩溃了…
- public变量名不能带m开头,否则这个暴露接口的时候在unity里面会断字多断出来一个m(mMyName, 在unity里面变成M My Name)
- protected,private变量,参数,local变量是开头小写,这个默认情况下是彼此之间是区分不开,这个通过语法高亮插件来解决:
https://visualstudiogallery.msdn.microsoft.com/fd89374f-892a-42d6-8207-da8fefa93fdf
这个插件很棒,可以根据semantic来区分成员变量,参数,local变量,进而可以自己定义出各个变量的命名,这样各个成员变量,局部变量,参数变量都可以直接颜色区分:
使用的时候,把VA的语法高亮选项关掉,然后自己去option里面设置就好,很好玩!!!
Unity3d 脚本开发代码规范相关推荐
- 黑马前端h5团队开发代码规范
黑马前端h5团队开发代码规范 1. 概述 欢迎使用品优购代码规范, 这个是我借鉴京东前端代码规范,组织的品优购内部规范.旨在增强团队开发协作.提高代码质量和打造开发基石的编码规范, 以下规范是团队基本 ...
- 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )
文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...
- Web前端开发代码规范(基础)
一. 引言 对于一个多人团队来说,制定一个统一的规范是必要的,因为个性化的东西无法产生良好的聚合效果,规范化可以提高编码工作效率,使代码保持统一的风格,以便于代码整合和后期维护. 二. HTML/CS ...
- Android移动端开发代码规范与格式化工具
原则 有几个原则可以帮助大家不看文档也能写出符合规范的代码: 如果是修改已有的代码,跟周围的风格一致 如果是使用系统SDK来开发,除非特别说明,风格要和系统SDK一致 新建文件写代码都按规范来写:旧文 ...
- 无规矩不成方圆,代码规范到底有多重要?(附阿里最新Android开发代码规范手册)
前言 代码规范是我们每个程序员要做的事,假设我们按照自己的喜好来写代码,那么很可能出现的问题就是我看不懂你的代码或者你看不懂我的代码,这样会给后续维护形成巨大的障碍.这个时候问题来了,如何让代码不分你 ...
- iOS 开发代码规范
前言: 最近新接手一个项目,代码无论是从基础的代码规范还是设计模式上来说,几乎没有任何规范性可言,都是自由奔放,随心所欲的写. 为了给团队整理一份iOS代码,自己先写一个版本. 一.规范制定说明 1. ...
- Java开发代码规范之编程规约---命名风格
前言 一个软件生命周期中,从可行性研究分析.计划到需求分析,再到软件设计.编码实现.测试,最后交付使用,运行维护过程中,维护过程占据了很大的比例,一个软件的生命周期中,很难保证自始至终都由最初的开发人 ...
- Unity3D开发体验之Unity3D 脚本开发
目录 概述 一.准备工作 二.开始创建步骤 1.创建"Player" 说明:"Player"为游戏场景中的一个对象,在本游戏中就是一个有C#脚本控制的具有智慧的 ...
- Unity3D脚本--常用代码集
1. 访问其它物体 1) 使用Find()和FindWithTag()命令 Find和FindWithTag是非常耗费时间的命令,要避免在Update()中和每一帧都被调用的函数中使用.在Start( ...
最新文章
- mybatis的资源过滤错误及xml文件编码错误
- 云计算如何重塑和简化大规模IT资产
- canvas - 饼状图
- idea与mysql连接时,遇见的小问题
- ThinkPHP里面Model的数据类型问题
- im4java profile_GraphicsMagick+im4java
- 绝了!这款工具让 Spring Boot 不在需要 Controller、Service、DAO、Mapper 了
- java 一些容易忽视的小点-控制语句
- VB讲课笔记13:二级公共基础
- as2.0与php交互,Flash(AS2.0)与php通讯 分享
- 在Windows下删除Linux系统的方法
- 关于Lasso回归的一个例子
- mysql索引失效的情况
- tree是不是动词_动名词到底是动词还是名词?
- for的用法详解,for循环完全攻略
- Web前端密码加密是否有意义?
- word论文排版和写作04:用MathType和word公式编辑器插入数学公式
- 新版本Google在安装外部扩展插件的时候会提示“程序包”无效的解决方法
- 著名英文谚语(珍藏版)
- C++ 计算球体体积
热门文章
- 【自动控制原理】控制系统数学模型
- Maria840js面试题:不使用中间变量,交换int型的 a, b两个变量的值
- 球球速刷LC之DP问题 三轮
- Java中静态方法和非静态方法的区别是什么
- OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
- 如何比较两个json
- 如何开好项目会议︱项目例会
- Android SDK HTTP Proxy Server
- 最新版本Portraiture4.1中文版ps磨皮滤镜插件安装包
- IPWorks IPC .NET 2022.0.85 Crack