符号链接对理解和维护代码有害吗?

Are symbolic links harmful for understanding and maintaining code?

我在我的网络项目中使用符号链接。服务执行的电子邮件任务有一个源文件夹和一个附加文件夹。

网站和任务都是用 PHP 编写的,并使用我的 util.phpsql_functions.phpconfig.php 文件。

我没有对这三个文件的位置进行硬编码,而是创建了到这三个实用程序文件和一些目录的符号链接,以便可以从我的每个子目录中访问它们。代码有效。

我还创建了一个批处理文件,它会自动创建这些链接并记录安装过程。

您可以在下面找到包含我的电子邮件任务的文件夹的屏幕截图。 sql_functions.php 加载配置数据并被 email.php 用来访问 SQL 服务器。 sql 文件夹的符号链接也有帮助。

所有这些文件夹都在同一个存储库中,因此不存在任何依赖项可能未加载的真正风险。

感觉就像肮脏的编程。

虽然符号链接本身不应该对代码库的理解和维护有害,但您的情况有点残酷。在你的每个文件中放置一个符号链接看起来有点矫枉过正。除了在硬编码路径和如此暴力的解决方案之间进行选择之外,还有更多选择。

例如,您可以将这些文件的路径设置为常量,该常量通过 require() 或许多其他解决方案在每个文件的开头加载。最后,这取决于您网站的工作方式,但我怀疑您的解决方案是否是您能想到的最灵活的解决方案。