Примеры того, как сначала неправильно, намеренно
Я просто поймал себя на том, что делаю то, что делаю много, и хотел обобщить это, выразить это, поделиться этим и посмотреть, кто еще следует этой общей практике, чтобы найти некоторые другие примеры ситуаций, где это может быть уместно.
Общая практика заключается в том, чтобы сначала намеренно сделать что-то неправильно, чтобы убедиться, что все остальное правильно, прежде чем приступить к текущей задаче.В частности, я пытался найти примеры в нашей базе кода, где текстовая область dojo виджет был использован. Я знал (потому что он был передо мной - доказательство существования), что виджет TextBox присутствует по крайней мере в одном файле. Поэтому я сначала искал то, что, как я знал, было там:
Цифра Grep-R.форма.Текстовое поле / grep-v svn
Это было неправильно - я сделал обычную (для меня) ошибку, оставив звезду, поэтому я исправил это:
Цифра Grep-R.форма.Текстовое поле * / grep - v svn
Который не нашел никаких результатов! Быстрое сравнение с файлом I смотрел на показал мне, что я неправильно написал "dijit":
Grep-r dijit.форма.Текстовое поле * / grep - v svn
И вот я получил результаты. Круто; делать это неправильно сначала нарочно означало, что мой запрос был правильным, за исключением поиска неправильной вещи, так что теперь я мог построить правильный запрос:
Grep-r dijit.форма.Текстовое поле * | грэп - v svn
И будьте уверены, что когда он не дал мне никаких результатов, это было потому, что таких файлов нет, а не потому, что у меня были неправильно сформулировал запрос.
Я добавлю еще три примера в качестве ответов; пожалуйста, добавьте любые другие, о которых вы знаете.
7 ответов:
TDD
Архетипом этой практики может быть цикл "красный-зеленый-рефактор" разработки на основе тестов. С помощью красного цвета продемонстрируйте, что функциональность не существует; затем сделайте так, чтобы она существовала, и продемонстрируйте, что вы сделали это, наблюдая за зеленой полосой.
Http://support.microsoft.com/kb/275085
Эта процедура на VBA выключает "подтаблиц" собственность для каждой таблицы в вашей базе данных MS доступа. Пользователь должен убедиться, что обработка ошибок настроена на "прерывание только при необработанных ошибках."Процедура определяет таблицы, нуждающиеся в исправлении, по ошибке, которая выбрасывается. Я не уверен, что это точно соответствует вашему вопросу,но мне всегда интересно, что ошибка используется без ошибок.
Я также использую camel case, когда я затемняю свои переменные. ThisIsAnExampleOfCamelCase. Как только я выхожу из строки кода VBA, если Access не изменяет переменную нижнего регистра на camel case, я знаю, что у меня есть опечатка. [Или параметр Exclusive не задан,что является темой сообщения.]
Я тоже использую этот трюк, по крайней мере, несколько раз в час.
Аранжировать - утверждать - действовать-утверждать
Иногда мне нравится в своих тестах добавлять встречное утверждение перед действием, чтобы показать, что действие действительно ответственно за получение желаемого результата, продемонстрированного заключительным утверждением.
Когда сомневаюсь в моей орфографии, и проверки орфографии моего редактора
Мы используем множество редакторов. Многие из них выделяют неправильно написанные слова, когда я их печатаю, - некоторые нет. Я полагаюсь на автоматическую проверку орфографии, но не всегда могу вспомнить, есть ли у редактора момента такая функция. Так что я войду, скажем, в "circuitx" и нажму пробел. Если он высвечивается, я сделаю резервную копию над пробелом и "x" и наберу другой пробел - и узнаю, что я правильно написал схему - но если это не так, Я скопирую Слово и вставлю его в известную проверку орфографии, чтобы посмотреть, сделал ли я это.
Я не уверен, что это лучший способ действовать, так как это не мешает вам неправильно написать последнюю команду, например, набрав "TestArea" или что-то в этом роде вместо "TextArea" (ваш палец просто должен немного скользить для такой ошибки).
IMHO лучший способ-это выполнить вашу "финальную" команду, но сначала на двух образцах файлов : один содержит запрошенный текст, другой-нет.
Другими словами, вместо выполнения команды" similar", выполните реальную команду, но поверх " similar" данные.
(Не уверен, что это хорошая идея, чтобы попробовать по-настоящему!)
Например, вы можете предоставить систему пользователям для тестирования и сообщить им пароль Для начала работы - "Apple".
Вы знаете, что пользователи полностью готовы к тестированию (все установлено и подключения к базам данных работают), когда они связываются с вами и говорят, что пароль не работает (на самом деле это "оранжевый").