Описание тега idioms

Идиома программирования - это способ преодолеть ограничение языка программирования и / или написать часто используемый код с целью, отделенной от буквального значения кода. Кроме того, идиома является предпочтительным способом написания кода, когда есть несколько очевидных способов сделать это.
3 ответа

Какой идиоматический способ управления количеством ссылок во время инициализаторов Obj-C?

Я изучаю Objective-C. В моем первом нетривиальном проекте я столкнулся с вопросом о том, как лучше всего обрабатывать ресурсы, передаваемые инициализатору, по сравнению с инициализатором по умолчанию. У моего класса есть сохраненный ресурс, engine, …
11 май '11 в 20:13
1 ответ

Каковы некоторые рекомендации по именованию схем GraphQL?

Я начинаю разработку нетривиального приложения, для которого мы рассматриваем GraphQL. Работая над первоначальным проектом нашей схемы, я немного парализовался, пытаясь установить соглашения об именах, которые будут масштабироваться по мере взрослен…
02 дек '16 в 02:54
6 ответов

Проверьте, является ли переменная строкой в ​​Ruby

Есть ли что-то более идиоматическое, чем следующее? foo.class == String
13 окт '11 в 04:18
1 ответ

Однолинейная проверка в Python

Я относительно новый разработчик Python, но я из Java. В Java есть однострочный логический контролер / присваиватель (из-за отсутствия лучшего термина): int result = (x)?y:z; Я пытаюсь использовать подобный подход в Python, но я не уверен, существуе…
27 мар '14 в 13:05
2 ответа

Идиома для имитации параметров числового шаблона во время выполнения?

Предположим, у нас есть template <unsigned N> foo() { /* ... */ } определены. Теперь я хочу реализовать do_foo(unsigned n); который вызывает соответствующий вариант foo(), Это не просто синтетический пример - это действительно происходит в реа…
12 авг '16 в 09:34
1 ответ

Какие идиомы используются в моделировании?

На странице 195 книги "Программные абстракции" написано: Alloy не имеет фиксированной идиомы для моделей, поэтому вы можете использовать любую идиому, которая лучше всего подходит для данной модели. Книга дает прекрасный пример использования "идиомы…
27 дек '16 в 14:09
1 ответ

Конструкция переключателя для комбинаций логических выражений

Предположим, у меня есть n логических значений, где n - относительно небольшое число (3-5 или около того). Допустим, что значения являются свойствами класса, каждое из которых может быть установлено или отключено независимо. Итак, есть 2 n возможных…
28 ноя '14 в 14:00
2 ответа

Лучшая идиома для создания отдельного синглтона для каждого аргумента типа универсального класса?

(Возможно, дополнительный вопрос к "Как создать универсальный синглтон-класс в Java?":) class MyClass<T> { private static Map<Class<MyClass<?>>, MyClass<?>> s_instances = new HashMap<Class<MyClass<?>>, My…
19 ноя '12 в 09:47
2 ответа

Шаблон проектирования для одновременного использования двух списков и возврата остатка одного из списков

Абстракт: Абстрактная проблема: список значений список модификаторов, вещи, которые воздействуют на значения, чтобы возвращать новые значения (для примера кода я просто умножаю значение на значение модификатора) список модификаторов не должен быть т…
19 фев '14 в 19:58
3 ответа

Проблемы с пониманием синтаксиса C++11 в "Правиле нуля"

Я изучаю " Правило нуля" и у меня есть 2 вопроса для последнего фрагмента кода, который демонстрирует это правило. class module { public: explicit module(std::wstring const& name) : handle { ::LoadLibrary(name.c_str()), &::FreeLibrary } {} /…
12 ноя '13 в 21:48
3 ответа

Более идиоматический способ сделать простую коррекцию возвращаемого значения

Этот код для меня выглядит так, как будто в Python есть более хороший способ сделать это: val = some_heavy_foo(slow=True, side_effects=True, bar=lot_of_data) if val is None: val = 0 Есть? Возможный вариант использования: total = 0 for lot_of_data in…
02 сен '14 в 20:47
1 ответ

Включите как назначение, так и проверку назначенного значения в цикле while для Kotlin

Я пытаюсь найти последнюю строку текстового файла, используя довольно стандартную идиому цикла while, которую часто нахожу в Java. У меня работает менее компактная версия. Но тот, который я хотел бы использовать, не является допустимым синтаксисом в…
05 мар '18 в 01:39
4 ответа

Есть ли идиоматический способ указать значения по умолчанию для необязательных параметров в Ruby?

Есть ли более краткий и идиоматический способ написания следующего кода, который используется для указания значений по умолчанию для необязательных параметров (в хэше params/options) для метода? def initialize(params={}) if params.has_key? :verbose …
29 дек '09 в 00:18
6 ответов

Создание идиоматических веб-страниц на PHP

Мой опыт работы с PHP довольно ограничен. Я только что унаследовал некоторые вещи, которые кажутся мне странными, и я хотел бы знать, является ли это стандартным способом делать вещи. Страница, которая отображается в браузере (например, www.example.…
15 апр '10 в 19:03
2 ответа

Примеры реализации общих архитектурных шаблонов / идиом?

Мне было интересно, где можно найти реализацию в качестве иллюстративных примеров для часто используемых архитектурных шаблонов / идиом Например логирование Обработка исключений Архивирование /Caching Пользователь / Роль / Политика / Права доступа Д…
08 ноя '10 в 08:21
3 ответа

Предпочтительная идиома для чтения, не зависящего от порядка байтов

В исходном коде Plan 9 я часто нахожу такой код для чтения сериализованных данных из буфера с четко определенным порядком байтов: #include <stdint.h> uint32_t le32read(uint8_t buf[static 4]) { return (buf[0] | buf[1] << 8 | buf[2] <&l…
09 авг '14 в 14:33
1 ответ

Передняя команда дает себе идиому

Это код lec4 и данный код соответственно: # non-mutable; persistent linked lists; also a stack # immutable collections are much easier to use concurrently # # NOTE: There are no assignments to self.tail after its initialization # class EmptyListE : …
03 фев '15 в 19:32
4 ответа

Ruby: Как мне вызвать функцию через ссылку на объект?

Рассмотрим этот надуманный пример: # Dispatch on value of fruit_kind: TYPE_A = :apple TYPE_B = :banana TYPE_C = :cherry eating_method = nil case fruit_kind # Methods to use for different kinds of fruit (assume these are # already defined) when TYPE_…
30 апр '09 в 13:49
0 ответов

Настоящее имя итерации-стирания

Если вы хотите перебрать контейнер, выполнить какое-либо действие и стереть его, основываясь на некоторых критериях, за один проход, вы делаете следующее: auto iter = container.begin() while( iter != container.end() ) { SomeAction(*iter); if( SomeCr…
27 фев '15 в 03:36
2 ответа

Сокращение объектов до категорий на основе произвольной логики

Этот вопрос может быть субъективным. Я не уверен, принадлежит ли он здесь или программистам Скажем, у меня есть тип данных, X (подумайте о бизнес-объектах, построенных из реляционной базы данных). Моя конечная цель - представить множество экземпляро…
07 дек '11 в 00:44