You must have read my mindIvan Denisov wrote:The other solution is to make new procedure in Files.
This discussion demonstrates the fact that before deciding on any solutions we need to clearly understand the problem that is supposedly being solved and then there needs to be a rigorous process to make sure it is not creating more problems than it is solving. The process goes something like this:
1. Identify a problem.
2. Report the problem.
3. Supply a test program that illustrates the problem.
4. Document some possible alternative solutions. This would typically be two or three - not just the first one thought of.
5. Analyse the pros and cons of each solution:
e.g. efficiency, complexity, resource usage, possible side-effects, does it fix the problem entirely or is it a workaround, how likely is it to break existing code etc. etc.
6. Decide on a solution.
7. Implement it.
8. Run the test case and run regression tests on other potentially affected areas.
9. Update the documentation.
10. Write release notes.
11. Release it.
For the issue currently being discussed, adding a new procedure minimises the risk of breaking existing code and the extent of regression testing required. I would not be confident in saying that is the best solution until steps 1 to 5 have been completed.