符号链接对理解和维护代码有害吗?
Are symbolic links harmful for understanding and maintaining code?
我在我的网络项目中使用符号链接。服务执行的电子邮件任务有一个源文件夹和一个附加文件夹。
网站和任务都是用 PHP 编写的,并使用我的 util.php
、sql_functions.php
和 config.php
文件。
我没有对这三个文件的位置进行硬编码,而是创建了到这三个实用程序文件和一些目录的符号链接,以便可以从我的每个子目录中访问它们。代码有效。
我还创建了一个批处理文件,它会自动创建这些链接并记录安装过程。
您可以在下面找到包含我的电子邮件任务的文件夹的屏幕截图。 sql_functions.php
加载配置数据并被 email.php
用来访问 SQL 服务器。 sql
文件夹的符号链接也有帮助。
所有这些文件夹都在同一个存储库中,因此不存在任何依赖项可能未加载的真正风险。
感觉就像肮脏的编程。
虽然符号链接本身不应该对代码库的理解和维护有害,但您的情况有点残酷。在你的每个文件中放置一个符号链接看起来有点矫枉过正。除了在硬编码路径和如此暴力的解决方案之间进行选择之外,还有更多选择。
例如,您可以将这些文件的路径设置为常量,该常量通过 require() 或许多其他解决方案在每个文件的开头加载。最后,这取决于您网站的工作方式,但我怀疑您的解决方案是否是您能想到的最灵活的解决方案。
我在我的网络项目中使用符号链接。服务执行的电子邮件任务有一个源文件夹和一个附加文件夹。
网站和任务都是用 PHP 编写的,并使用我的 util.php
、sql_functions.php
和 config.php
文件。
我没有对这三个文件的位置进行硬编码,而是创建了到这三个实用程序文件和一些目录的符号链接,以便可以从我的每个子目录中访问它们。代码有效。
我还创建了一个批处理文件,它会自动创建这些链接并记录安装过程。
您可以在下面找到包含我的电子邮件任务的文件夹的屏幕截图。 sql_functions.php
加载配置数据并被 email.php
用来访问 SQL 服务器。 sql
文件夹的符号链接也有帮助。
所有这些文件夹都在同一个存储库中,因此不存在任何依赖项可能未加载的真正风险。
感觉就像肮脏的编程。
虽然符号链接本身不应该对代码库的理解和维护有害,但您的情况有点残酷。在你的每个文件中放置一个符号链接看起来有点矫枉过正。除了在硬编码路径和如此暴力的解决方案之间进行选择之外,还有更多选择。
例如,您可以将这些文件的路径设置为常量,该常量通过 require() 或许多其他解决方案在每个文件的开头加载。最后,这取决于您网站的工作方式,但我怀疑您的解决方案是否是您能想到的最灵活的解决方案。