@xpostman

Именование переменных: "removeSmth" vs "deleteSmth"?

Хочется, чтоб название некоего объекта наиболее точно соответствовало сути. Недавно заметил за собой, что не вижу разницы между словами remove и delete и использую любое. Есть ли какая-нибудь смысловая разница для этих двух слов? Есть ли ситуации, в которых лучше подходит какое-то одно слово, нежели чем другое? Есть ли здесь аналогия, например, со словами «find» и «search»?
  • Вопрос задан
  • 2834 просмотра
Пригласить эксперта
Ответы на вопрос 6
XaBoK
@XaBoK
— меня вот что интересует «Убрать Смита» или «стереть Смита»?
— не всё ли равно, мистер Андерсон?
Ответ написан
Комментировать
@maseeq
Ну find я вижу как поиск с заранее известным положительным результатом, а search это есть сам процесс поиска, который может и не привести к результату. Что же касается remove и delete, то тут я вижу в первом случае устранение объекта при том, что этот объект можно вызвать повторно, а delete — удаление объекта без возможности повторного его вызова.

Это я с точки зрения лингвистики и опыта подхожу, кодеры могут со мной не согласиться.
Ответ написан
@agul
Глобальной разницы нет, оба слова означают «удалять». Но «remove» имеет альтернативный перевод «убирать», «снимать» и по сути имеет более мягкое значение, нежели «delete» — «стирать», «вычеркивать», «исключать».

Ну и remove более формальное слово.
Ответ написан
Комментировать
Скорее всего вы имели ввиду имена методов.
remove — удаление со списков, deleta — удаление цельныx объектов. Пользуясь случаем, xотел бы также сказать, что в некоторых случаях удобно называть SmthRemove || SmthDelete(xоть так и не принято).
Ответ написан
Parsing
@Parsing
удалить – уничтожить
найти – искать
Ответ написан
mikhanoid
@mikhanoid
IMHO, вообще, если мы посмотрим на привязки английских слов к английским, а русских к русским, то разницу увидим. Удалять — это не уничтожать, не освобождать, не разрушать. В русском удалять — это удалять, отодвигать далеко. Remove, в принципе, немного соответствует слову удалять. Потому что есть такие термины removable media, или ещё что-то. Но тут нет оттенка: разрушаемый носитель. Он именно удаляемый, вынимаемый всё такое.

Так что, remove и удалить — это нечто вроде 'убрать с глаз долой'. Поэтому, как бы и команда rm в UNIX — это же не стирание файла, а стирание ссылки на него из директории, типа — не хочу тебя видеть.

Delete — это другое. Это некая противоположность к let. И как раз носит смысл: разрушить, то что возникло, или стереть с доски, вычеркнуть из текста. Всё такое.

Опять же find и search они тоже не переводятся, как поиск, если искать смысловые привязки в английском. search — это нечто связанное с изучением, потому что research, или там научный поиск, или поиск решения. Это нечто такое, продолжающееся, не обязательно с нужным результатом. А find (второе значение основать) это нечто такое, связанное с получением результата, с обретением чего-то такого.

Вот. Можете поприменять это к программам. Мой опыт: не использую remove и delete. Использую такие выражения: form и drop. Первое от сформировать, что более соответсвует по смыслу созданию объекта в памяти, a drop — это выбросить, тоже вполне понятно, без всяких там тонкостей, да и смыслу более соответствует. Когда мы избавляемся от объекта в программе, то мы же не стираем его, не разрушаем память, в которой он находится, мы как бы просто забываем о нём, выбрасываем ссылку. Да и писать короче и ровнее: )

formSmth
dropSmth

Ну. И в программах и в своих структурах данных я всегда делаю find в структурах данных, а search — это скорее как существительное, и прилагательное, когда надо назвать нечто поисковое: searchbot или там linesearch (при распознавании образов).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы