找回密码
 注册
Simdroid-非首页
查看: 153|回复: 6

[讨论]matlab提供的函数那么多,如何避免函数重名?

[复制链接]
发表于 2009-12-8 17:02:11 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 snow_man_0 于 2009-12-8 17:08 编辑

matlab提供的函数那么多,如各工具箱的函数,mathworks的开发人员如何避免函数重名?怎样制定命名规则?
为什么不替其他开发人员考虑下,一下子把上千个名字都占用了?
其他开发人员在写自己的库时,肯定会碰到与matlab提供的库函数重名,如何解决?


如file.m

function fun

sum(a); % 因为当前文件(或当前目录)下有sum,所以没办法使用matlab/ 下的sum

end

%------------------------------
function sum(a)

%file结束
发表于 2009-12-8 18:56:49 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
呵呵,这个是非IT专业人员编程常出现的问题,要使用变量命名规则,参考此贴http://forum.simwe.com/thread-763067-1-1.html

另外,你这个例子中可以用add。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-8 23:28:22 | 显示全部楼层 来自 湖北武汉
我的意思是,mathworks的开发人员如何避免函数重名?怎样制定命名规则?
如我们知道的,matlab库函数的名字都很短
回复 不支持

使用道具 举报

发表于 2009-12-8 23:36:58 | 显示全部楼层 来自 浙江杭州
开发时在函数名前面加上自己的特征呗,比如华为开发人员,在函数名前面都加上HW_

另外可以参考这个贴子,http://forum.simwe.com/thread-909813-1-1.html,用有命令提示的编辑器,不一定Emacs,其他编辑器很多也有Matlab命令提示。
回复 不支持

使用道具 举报

发表于 2009-12-9 11:37:02 | 显示全部楼层 来自 上海
本帖最后由 feynmand 于 2009-12-9 12:09 编辑

lz应该了解那些命名规则的。我想lz的意思并不是问这个的。
相比较其他语言来说matlab的函数名称是比较短的。这只是说我们常用的函数名称比较短,实际上matlab内部使用的函数很多名称都非常长的。matlab命名的时候都会考虑函数的功能通过相应英文单词的全拼或者缩写来命名。这样有两个好处:
1,用户比较容易明白函数的意思,降低软件普及的难度,也减少开发中的错误。
2,因为在命名过程中考虑了函数功能,所以可能重复命名的概率也就低了很多。
但是matlab中并不是没有重名的函数的,比如说Overloaded Functions,很多我们常用的函数其实有很多个版本的,分别处于不同的路径下,用来处理不同的数据类型,当然达到的功能大致是一样的。

如果有同名的函数,matlab会按照自己的搜索路径顺序来搜索并执行。我想很多函数可以通过子函数、私有函数等方式来避免重名带来的问题。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-12-9 13:09:07 | 显示全部楼层 来自 美国
记得7年前做设计的时候,为了避免冲突,我就在所有函数后面加上_surname

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-12-9 13:53:49 | 显示全部楼层 来自 重庆
LZ 的 意思,是想知道 matlab 有没有 类似c++/ .net 的 namespace 吧?

如果有namespace,就可以搞定LZ的问题了

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-19 15:59 , Processed in 0.051079 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表