Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

path/filepath: fix EvalSymLink documentation #1

Merged
merged 1 commit into from
Jul 12, 2020
Merged

Conversation

ericwj
Copy link
Owner

@ericwj ericwj commented Jul 12, 2020

This documentation change is the best solution for EvalSymLinks short of deleting this API altogether.

EvalSymLinks is not suitable on any operating system because it unconditionally undoes indirections without being aware of the problems that these indirections might solve.

This is a violation of what Wikipedia calls the "Fundamental Theorem of Software Engineering" (https://en.wikipedia.org/wiki/Fundamental_theorem_of_software_engineering). In my own words:

Any problem in software can be solved by adding another layer of indirection.

This is the poor mans solution to golang#40104 until go might introduce suitable alternatives and/or break EvalSymLinks current behavior.

This documentation change is the best solution for EvalSymLinks short of deleting this API altogether.

EvalSymLinks is not suitable on any operating system because it unconditionally undoes indirections without being aware of the problems that these indirections solve.

This is a violation of the software engineering principle which states:

> Any problem in software can be solved by adding another layer of indirection.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant