Я просто поймал себя на том, что делаю что-то, что я делаю, и хотел обобщить это, выразить это, поделиться этим и посмотреть, кто еще следует этой общей практике, чтобы найти другие примеры ситуаций, где это может быть уместно.
Общая практика заключается в том, чтобы сначала сделать что-то не так, нарочно, чтобы установить, что все остальное правильно, прежде чем приступить к выполнению текущей задачи.
В частности, я пытался найти примеры в нашей базе кода, где использовался виджет dojo TextArea. Я знал (потому что он был передо мной - доказательство существования), что виджет TextBox присутствовал хотя бы в одном файле. Поэтому я сначала искал то, что, как я знал, было там:
grep -r digit.form.TextBox | grep -v
СВН
Это было неправильно - я совершил (для меня) ошибку, бросив звезду, и исправил это:
grep -r digit.form.TextBox * | Grep
-v svn
, который не дал результатов! Быстрое сравнение с файлом, на который я смотрел, показало, что я написал "dijit" с ошибкой:
grep -r dijit.form.TextBox * | Grep
-v svn
И теперь я получил результаты. Здорово; если сначала сделать это неправильно, это означало, что мой запрос был правильным, за исключением поиска неправильной вещи, поэтому теперь я могу построить правильный запрос:
grep -r dijit.form.TextArea * | Grep
-v svn
и будьте уверены, что когда он не дал мне результатов, это было потому, что таких файлов нет, а не потому, что я исказил запрос.
Я добавлю еще три примера в качестве ответов; пожалуйста, добавьте любые другие, о которых вы знаете.