CRUD vs AGUD vs AFUD ... какое у вас предпочтительное соглашение об именах

Вы пишете createSomething() или addSomething()?

Вы пишете readSomething(), getSomething() или fetchSomething()?

Это совершенно мелкая проблема. В конференц-зале мы называем его CRUD, но на самом деле он становится AGUD.

Какое у вас предпочтительное соглашение об именах? Это имеет значение?

спасибо

CRUD неполный. CRUDE - создание, чтение, обновление, удаление и перечисление. (Возможно, CURDL, если вы используете List).

Darron 11.12.2008 21:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
1
3 637
12

Ответы 12

Я думаю, это зависит от контекста проблемы / технологии - CREATE и ADD могут быть разными.

Например, я могу СОЗДАТЬ тег.

А затем я могу ДОБАВИТЬ этот тег на страницу.

Мы используем репозитории для управления нашим доступом к данным, и, согласно Эрику Эвансу в его книге Доменно-ориентированный дизайн, вы должны добавлять и удалять объекты в репозиторий, как если бы это коллекция в памяти - даже если за кулисами он использует БД.

Но, отвечая на исходный вопрос, я все еще говорю о CRUD, потому что в душе я фанат SQL! :)

Думаю, это довольно распространенное явление. Наши DAO, безусловно, имеют имена методов Добавить, Получить, Обновить, Удалить (установить статус «Отменено» и т. д.). На уровне БД это вставки, выборки, обновления и удаления - ISUD.

Это может быть Persist, Fetch, Delete. При необходимости сохраняйте добавление или обновление.

Обычно для высокого уровня «получить» - получить откуда угодно: кеш, диск, конфигурацию. «Retrieve» получает значение из постоянного хранилища - обычно вызывается командой «Get», если его нет в кэше.

Я что-то создаю, а затем добавляю к чему-то еще. Добавление может быть частью создания или иногда обновлением содержащего объекта.

ХЛЕБ - просматривать, читать, редактировать, добавлять, удалять.

Я предпочитаю CRUD, а не АГУД и AFUD.


СОЗДАЙТЕ против ДОБАВЛЯТЬ

Мы пытаемся использовать оба этих слова, чтобы указать, что мы создаем что-то новое. СОЗДАЙТЕ не оставляет места для интерпретации; то, чего раньше не было, сейчас строится. ДОБАВЛЯТЬ может немного сбивать с толку, потому что может означать, что мы добавляем что-то, что уже существует.


ЧИТАТЬ Vs. ПОЛУЧАТЬ / ПРИНЕСТИ

Для меня проблема с ПОЛУЧАТЬ и ПРИНЕСТИ здесь может быть интерполирована как получение единственного экземпляра объекта для его изменения. Мне нравится использовать ЧИТАТЬ, потому что это ясно в том смысле, что я хочу читать в экземпляре объекта, и что изменение изменения объекта потребует отдельного действия.

CRUD лучше работает как аббревиатура. На практике я обычно использую IACREUD:

  • Индекс перечисляет элементы, доступные для редактирования; также отображает форму удаления.
  • Добавлять - это представление, используемое для отображения формы для добавления контента;
  • Создавать - это внутренний код, который обрабатывает форму добавления;
  • Забрать - единственное представление, используемое во внешнем приложении;
  • Редактировать - это представление, используемое для отображения формы для редактирования существующего содержимого;
  • Обновлять - это внутренний код, который обрабатывает форму редактирования;
  • Удалить - это внутренний код, который обрабатывает форму удаления.

Я не могу придумать для этого подходящую аббревиатуру ...

ДАКЮРИ, прочтите: Дайкири?

totels 17.10.2011 22:51

Я стараюсь использовать более конкретные глаголы, когда могу придумать подходящие (что довольно сложно в 4 часа утра). Для большинства вещей add / edit / delete / get достаточно хороши и достаточно короткие.

В конце концов, это зависит от вас как личности, и это то, чем вы довольны в своем проекте. Я обычно использую Get, Add, Search или что-то подобное. С Уважением отметка

это зависит от предпочтений и стандартов компании. Обычно это не зависит от меня, и это меня устраивает. хороший программист гибок.

На самом деле, ваши индивидуальные клиенты смотрят на ваш код и спрашивают: «Можете ли вы сделать так, чтобы« создать »и« добавить »... это просто не работает для меня?»

typeoneerror 15.05.2009 07:30

Клиенты редко когда-либо смотрят на код, есть ли у вас клиенты, которые следят за соглашениями об именах? На многих рабочих местах программиста, которые выполнял Айв, обычно ответственность за определение соглашения об именовании ложится на менеджера проекта. Я работал с анальными менеджерами, которым это небезразлично, и с компаниями, которым все равно (и это видно). У меня действительно нет предпочтений, и я могу кодировать его так, как предпочитает КОМПАНИЯ. В конце концов, это их код, а не мой.

D3vtr0n 15.05.2009 19:03

Я также никогда ничего не говорил о клиентах, которые смотрят на код. Откуда ты это придумал?

D3vtr0n 15.05.2009 19:08

Кроме того, давайте проясним. Я не создаю веб-сайты для «клиентов» (или Backstreet Boys). Я пишу программное обеспечение корпоративного уровня для крупного бизнеса. Есть разница.

D3vtr0n 15.05.2009 19:13

Чертов сын. Вы серьезно отнеслись к этому комментарию. Успокойся.

typeoneerror 16.05.2009 00:42

Do you write createSomething() or addSomething()?

Я использую createThing (), когда чего-то не существует, и addThing (), если что-то делает существует, и мы добавим к нему что-то другое.

Do you write readSomething(), getSomething() or fetchSomething()?

Я бы использовал readThing (), если я читал байты (или аналогичные), getThing (), если я обращаюсь к свойству, и fetchThing (), если я обращаюсь к внешнему источнику.

Зависит от контекста и предпочтений. LSS, Создание чем-то определенно отличается от Добавление чем-то. Лично я считаю, что они не взаимозаменяемы.

Но действительно ли это имеет значение в конце концов? Не совсем. Кодекс по-прежнему принадлежит компании, и они определяют стандарты. Если, конечно, вы не ведете свои собственные операции. Я этого не делаю, я пишу код для жизни, а не для развлечения, поэтому я гибок в любом проекте, над которым я работаю.

D3vtr0n 15.05.2009 19:16

Я управляю собственными операциями и пишу код для развлечения. Отсюда мой вопрос о том, беспокоит ли кого-то выше вас ваши соглашения об именах. Думаю, это справедливый вопрос; и определенно не тот, который оправдывает вашу неубедительную попытку оскорбить клиентуру или "уровень предприятия", над которым я работаю. Клиент есть клиент. Я бы не отказался от работы, потому что эта группа мне не нравится.

typeoneerror 16.05.2009 00:56

Я предпочитаю readXXXX(), а не getXXXX(), потому что getXXX() может относиться к методам getter / setterbean и может создавать путаницу в обслуживании кода.

Другие вопросы по теме