I reason that, regardless of the implementation language, the logic of an application such as Everything must be that of a winnowing process:-
Code: Select all
If the path is good
If the name is good
If <the next condition> is good
If <the next condition> is good
Suppose that we had a Do-It-Yourself debugging switch that could dump out (somewhere) the conditions tested and the results at each step of the winnowing process.
Then the New User could read that dump and discover that the number of results plummeted to zero immediately after the filter "Pictures" had been applied (or the extent DO? or the path or name tests etc.) and the optional slapping of the forehead could take place in privacy.
This feature would take time to implement, but would it be cost-effective? To answer that we would need to add up the time it takes to implement (and test) the feature AND add up the time spent by New Users scratching their heads, posting the question, and Keen Members of the forums posting the replies. Add in the delay, in days, while a project hangs in the balance, and you have the cost of the problem.
I will maintain that the cost of the problem can be computed by an individual, but will NOT be computed by the general population in these forums. The actual cost of our new-user false starts can not be calculated.
Which means that we cannot evaluate the benefits of this idea. No-one can come back and argue "It's not worth the cost"
But programmers can work out the cost of implementation, because, in well-written code, those points at which the tests are made (and the results are narrowed down) are well-defined, and we might anticipate an automated procedure that can locate those decision points and insert a snippet of debugging code that reads
Code: Select all
[AirCode]
If the name is good
If DIYDebug then Output the decision result Endif
Else
If DIYDebug then Output the decision result Endif
Endif
[/AirCode]
I understand that Everything 1.5 has a search-string pre-processor that takes my characters from the search string box, parses them, and then arranges them in a sensible order (examine Indexed file names BEFORE testing un-indexed content and so on), in which case there may be a focal point in the code where a DIY-debug could be inserted, rather than writing one-time code to automate the process of scattering debugging snippets among 000s of lines of code.
Cheers, Chris