通过检查以下编程语言的源代码(Java,Python和Lisp),可以解决的源代码依赖程度是多少。
例如,我可以通过查看Python文件的集合来确定每个文件中检查所有“import”语句的唯一依赖项(源依赖项)吗?
在Lisp中,我知道(load“filename”)命令允许包含在其他文件中定义的函数。
答案 0 :(得分:1)
即使您发现任何类型的“导入”声明,代码也不会使用它。
在Java中,您可以导入名称空间,但也可以使用该类的完全限定名称而不使用任何import语句
javax.swing.JButton但= = new javax.swing.JButton(“MyButton”);
最后但并非最不重要的是,所有这些都支持某种符号编程。您可以使用普通字符串来加载或执行代码:
Object x = Class.forName(“javax.swing。”+ compName); return x.toString();
答案 1 :(得分:1)
有更多方法可以在Python中导入
例如
somemodule = __import__("somemodulename")
也可以在运行时更改路径,例如
import os
可能无法导入您期望的os
模块。
您还可以通过其他方式包含代码
execfile(...)
execfile(filename[, globals[, locals]])
Read and execute a Python script from a file.
The globals and locals are dictionaries, defaulting to the current
globals and locals. If only globals is given, locals defaults to it.
您甚至可以包含存储在数据库中或从网址下载的代码片段
所以你不能肯定地说