- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
MATLAB 的一个(主要)函数=一个文件的最初原因是什么,为什么经过这么多年的发展仍然如此?
与其缺点相比(人们在函数和脚本中放置了太多东西,而当它们显然应该分开时……导致代码不清晰)相比,这种方法的优点是什么?
最佳答案
Matlab 的每个文件加载一个类/函数的模式似乎与 Java 在这件事上的选择相匹配。我敢打赌,在 1980 年代推出解析器时,还有其他技术原因可以加速解析器。 Java 选择此模式是为了阻止内部塞满所有内容的超大文件,这一直是我所见过的使用单文件类语法的任何语言的主要论据。
但是,强制每个文件语义一个类并不能阻止大型文件 -- KPIB是一个复杂的、长得可怕的函数/类文件的完美示例(尽管是一个非常有用的 maga 文件)。因此,单类文件系统是一种试图让用户了解代码抽象的方法,而不是一种功能有用的机制。
Matlab 的单一函数/类文件系统的一个积极结果是,只需快速浏览一个项目目录,就可以很容易地知道哪些函数可用。此外,许多名称必须具有足够的描述性以将它们与其他文件区分开来,因此作为一种次要形式的文档命名是一种副作用。
最后,我认为没有强烈的论据支持或反对一个文件类,因为从一个文件类到另一个文件类通常只是一个很小的语义变化(除非您的代码处于非常无组织的状态......在在这种情况下,你应该羞于修复它)。
编辑!
我修复了对 Matlab 采用 Java 的单类文件系统的错误引用——经过更多研究后,似乎两个开发人员都独立采用了这种风格(或者更确切地说,没有具体说明另一种语言影响了他们的决定)。尤其如此,因为 Matlab 直到 2000 年才捆绑 Java。
关于matlab - MATLAB 的一个函数 = 一个文件的最初原因是什么,为什么仍然如此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12414041/
我有一个使用 Sinch SDK 和 CallKit 实现的 VOIP 应用程序。一切正常,除了设备插入耳机时。在后一种情况下,当通话开始时,音频仍通过设备的主扬声器路由。如果我在通话期间拔下并重
我需要将大量复杂(20 多个属性)对象过滤成多个子列表。要创建子列表,我有一个过滤器规范列表。要求是:a) 不允许一个项目成为两个子列表的一部分,并且 b) 必须能够在处理完成后获取所有未分割的项目。
我有一个简单的 .share-toggle 切换链接。当您点击它时,Facebook 评论插件应该会显示。它最初应该被 Conceal 问题是,如果我使用 css Conceal 它,然后单击切换按钮
我正在尝试制作一个功能类似于 android 市场的图库,您可以在其中滚动(左/右)以查看免费或付费应用程序等...还可以在布局中上下滚动。 到目前为止,我只是让它加载了两个布局,它们都有一个简单的“
大家好,我是网络开发的新手,最近刚刚完成我对网络设计的第一次尝试。我偶然发现了一个我找不到解决方案的问题。在 webkit-browsers 中,我的一个 ul-lists(导航)最初呈现在错误的位置
我遇到了这个问题。我在 ISP 上使用 Umbraco CMS 启动了一个 ASP.NET 网站。(这只是一个非常基本的信息网站。没什么特别的。) 但是,当我想要访问该网站时,第一个页面加载需要很长时
在我的 iPhone 应用程序中,我使用 UITabBarController 布置了三个选项卡。第一个选项卡(在应用启动时加载)使用本地数据加载,速度非常快。 虽然第二个选项卡从网络下载 XML 文
我有这样的风格: #cytoscape-container { width: 100%; height: 100%; margin: 0 aut
我在这里看到了几篇关于 SO 的帖子,但它们在功能和结构上过于具体,而我正在寻找的是我或任何人都可以在任何地方使用的更通用的东西。 我只需要有一个按钮,单击该按钮可以在 3 类之间循环。但如果出现必须
我在 http://www.raven.dima.neoturbine.net/ 有一个网页我正在努力。顶部导航在 IE 8、Firefox 3.6 和适用于 Android 的 Dolphin 浏览
我想将主机的用户/组与 docker 机器同步,以使(开发人员)能够编辑容器内部或外部的文件。有一些这样的想法:Handling Permissions with Docker Volumes这会创建
向通知列表/栏发布推送通知时,.contentText 和 .number 最初不显示(.ticker、.icon 和 .contentTitle 显示正常)。但是,在发布另一个通知(具有不同的 ID
我实现了以下 MKMapView 方法,该方法在添加注释后运行。我在 Interface Builder 中将我的 MKMapView map (parishMap) 设置为“显示用户位置”,并且在加
我是一名优秀的程序员,十分优秀!