CRUD по сравнению с AGUD по сравнению с AFUD …, что [закрывается] Ваше соглашение о присвоении имен предпочтения

Наказание указателя небезопасно. Вместо этого используйте настоящий союзный удар.

Допущения: структура правильно упакована (нет заполнения между элементами)

#include 
#include 



struct __attribute__((packed)) result{
    int a;
    int b;
    int c;
    int d;
};

union convert{
   int arr[4];
   struct result res;
};

  volatile int arr1[4];

void foo(void)
{

  union convert cnv;

  memcpy(&cnv, (void *)arr1, sizeof(arr1));

  printf("%d %d\n", cnv.res.a, cnv.res.b);
}

все современные компиляторы оптимизируют вызов memcpy

https : //godbolt.org/z/4qtRIF

.LC0:
        .string "%d %d\n"
foo:
        mov     rsi, QWORD PTR arr1[rip]
        xor     eax, eax
        mov     rdi, QWORD PTR arr1[rip+8]
        mov     edi, OFFSET FLAT:.LC0
        mov     rdx, rsi
        sar     rdx, 32
        jmp     printf

9
задан user45441 11 December 2008 в 18:26
поделиться

11 ответов

Я предпочитаю CRUD по AGUD и AFUD.


СОЗДАЙТЕ по сравнению с ADD

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


ЧИТАЙТЕ по сравнению с, получают/ВЫБИРАЮТ

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

6
ответ дан 4 December 2019 в 15:28
поделиться

Я думаю, что это зависит от контекста проблемы/технологии - СОЗДАЮТ, и ADD может отличаться.

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

И затем я могу ADD, которые отмечают к странице.

Мы используем Репозитории для управления нашим доступом к данным, и по словам Eric Evans в его Доменной Управляемой книге Дизайна Вы должны Add & Remove возражать против репозитория, как будто это - набор в оперативной памяти - даже если негласно это использует DB.

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

2
ответ дан 4 December 2019 в 15:28
поделиться

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

2
ответ дан 4 December 2019 в 15:28
поделиться

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

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

Я не могу действительно думать о хорошем акрониме для этого..

1
ответ дан 4 December 2019 в 15:28
поделиться

Я думаю, что это довольно распространено. Наши ДАО, конечно, имеют Добавление, Получают, Обновление, Удаляют (состояние набора к 'C'ancelled, и т.д.) имена методов. На уровне DB они - Вставки, Выбирает, Обновления и Удаляет - ISUD.

Это могло быть, Сохраняют, Выборка, Удаляют. Сохраните или Добавление или Обновление по мере необходимости.

0
ответ дан 4 December 2019 в 15:28
поделиться

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

0
ответ дан 4 December 2019 в 15:28
поделиться

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

0
ответ дан 4 December 2019 в 15:28
поделиться

Я пытаюсь использовать более определенные глаголы, когда я могу думать о соответствующих (который довольно тверд в 4:00). Поскольку большинство вещей добавляет/редактирует/удаляет/получает, достаточно хороши, и достаточно коротки.

0
ответ дан 4 December 2019 в 15:28
поделиться

Следующие ссылки предоставить полезную информацию о WSDL и REST, включая плюсы и минусы

Пара ключевых моментов состоит в том, что

1) SOAP был разработан для распределенной вычислительной среды, тогда как REST был разработан для среды точка-точка.

2 ) WADL можно использовать для определения интерфейса для служб REST.

http://www.ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest
http: // ajaxonomy.com/2008/xml/web-services-part-2-wsdl-and-wadl

-121--742035-

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

0
ответ дан 4 December 2019 в 15:28
поделиться

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

0
ответ дан 4 December 2019 в 15:28
поделиться

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

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

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

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

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

0
ответ дан 4 December 2019 в 15:28
поделиться
Другие вопросы по тегам:

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