什么是变量名

哎哟,说起编程里的这些名词,我还真有点心得。
记得我第一次接触编程的时候,那时候还是2 01 2 年,我在北京的一家互联网公司实习,那时候天天跟这些变量、常量、函数名打交道。

那时候,我搞不懂为什么变量叫变量,后来才明白,因为它里面的值是可以变的,就像我小时候的玩具,今天玩这个,明天玩那个,变化无穷。
标识符嘛,其实就是给这些变量、常量、函数起个名字,好让它们不那么面目模糊。

我记得那时候,我们用的编程语言是Java,标识符的命名规则可严格了。
标识符只能由字母、下划线、数字组成,开头必须是字母或下划线,不能是数字,就像我的名字不能是1 2 3 一样。
而且,标识符不能有二义性,也就是说,一个标识符只能对应一个实体,不能跟其他实体重名,就像我的名字不能跟别人重样。

还有长度要求,这个我也遇到过坑。
有一次写代码,我给一个变量取了个超长的名字,结果编译器告诉我名字太长了,给我截掉了一部分。
那时候我那个郁闷啊,后来才知道,标识符的长度是有规定的,比如Java中标识符的长度不能超过2 5 5 个字符。

现在回想起来,那时候真是挺傻的,不过也正是因为这些坑,让我对编程的理解更深了。
哎,说起来编程,我还真有点怀念那时候的青涩岁月呢。
哈哈,不扯远了,总之,标识符的命名规则要记牢,别像我那时候一样犯低级错误。

什么是变量名

哎,别跟我扯这些大理论啊。
跟你说个事儿,我当年刚学Java那会儿,真被变量这玩意儿坑惨了。

记得那是04 年吧,我在上海,刚进一家小公司做开发。
第一个项目,领导让写个用户管理系统。
那会儿我年轻气盛,觉得变量这东西不就是随便起个名存个值嘛。

结果呢?刚开始写,各种乱七八糟的命名。
什么 u, user, usr, usrInfo... 你说能一样吗?代码写出来自己都看不懂。
调试的时候,一个变量名改错了,整个系统跟着乱。
最后熬了两个通宵,才把那些名字改成有点意义的,比如 userInfo, userDao 之类的。

后来我才明白,标识符这东西,真不能瞎起。
字母、下划线、数字是行,但得有意义。
不能以数字开头,这我懂,不然编译器还怎么认。
不能有歧义,这我也踩坑了,比如 abc 和 ABC,有些编译器可能区分不出来,搞不好就出Bug。
长度限制?我当年用C++写个小工具,名字起得长长的,后来发现编译器就认前几个字符,剩下的都当没看见,真闹心。

所以啊,别看书上写得挺清楚,什么可读性、可维护性。
真到写代码的时候,你会发现,起个好名字,比写多少行代码都重要。
我这1 0年,就吃了不少这种亏。
现在写代码,先琢磨半天变量名、函数名怎么起,绝对不能像以前那么糙了。

行,聊别的吧。

matlab中变量如何定义?

说白了,Matlab里定义变量用sym或syms就行,没提前定义也能直接赋值。
变量名得字母开头,后面跟字母、数字或下划线,最多6 3 个字符,大小写要分得清,关键字和函数名不能当变量名用。
去年我们跑那个项目里,有个同学把sum当变量名了,结果程序直接炸,说实话挺坑的。

先说最重要的,Matlab变量不用提前声明类型,它自己会根据赋的值自动判断,比如x = 5 就是double类型。
另外一点,变量名区分大小写,X和x是两回事,这个点很多人没注意。
还有个细节挺关键的,赋值时如果变量已存在,新值直接覆盖旧值,类型也跟着变,默认都是double。

我一开始也以为变量定义很麻烦,后来发现不对,其实直接赋值就行,效率高多了。
等等,还有个事,用syms定义的符号变量更专业,适合做符号计算,但普通场景用sym或直接赋值更方便。

建议多试试直接赋值,效率高还不容易出错,但符号计算场景得用syms。
你觉得呢?