Что-то может быть initializable?

Я не вижу никаких упоминаний о модуле fs в настройках вашего опубликованного веб-пакета. Итак, я предполагаю, что ваше приложение вывода (app.js?) Пытается запросить и использовать fs. Webpack создает клиентское клиентское приложение, которое будет загружено в браузер; fs недоступно , недоступно в браузере.

(Дважды проверьте и убедитесь, что вы не пытаетесь, например, читать и записывать файлы на компьютере пользователя, используя fs внутри вашего клиентского приложения. Это невозможно в браузерном приложении. Для ознакомления с концепцией веб-приложений с внешним и внутренним интерфейсом ознакомьтесь со статьей React App With Node Backend .)

8
задан Samuel 25 December 2008 в 04:53
поделиться

9 ответов

Технические люди создают новые слова все время. (см. пример ниже), Но это не случай создания нового слова. Это - случай "деривации". Вы имеете, берут совершенно хорошее слово ("инициализируют") и добавил perflecty хороший производный суффикс к нему ("способный"). Получающееся initializable слово является производным словом.

Короче говоря, если что-то может быть инициализировано, это initializeable. Точно так же, как это может быть выполнимо, или stopable.

Теперь, я не думаю, что это будет задолго до того, как нацист грамматики указывает на ошибку моих путей здесь. Но английский язык является богатым и выразительным языком. Слово не должно быть перечислено на "dictionary.com" для него, чтобы быть допустимым. Ни даже на m-w.com (то, которому я верю, является лучшим сайтом).

Одной из моих любимых книг является современное американское Использование Хранилища. Это - замечательная книга и является больше, чем словарь - это - ссылка и руководство по тому, как американский вариант английского языка используется.

"Атомарный" хороший пример слова, которое мы используем в разработке программного обеспечения все время, которая является своего рода "составленным" словом. В контексте разработки чего-то, что является атомарным или происходит, или не происходит - он не может быть разделен на отдельные операции. Но, общее определение для этого слова не принимает это использование во внимание.

Вот еще! Вот лучший.... "Grep" Не в словаре - но, совершенно хорошее слово. Я использую все это время

20
ответ дан 5 December 2019 в 05:00
поделиться

Как насчет -

interface ICanBeInitialized

или... (и у меня было немного рождества drinky... очень жаль),

interface ICanHazInitialization
7
ответ дан 5 December 2019 в 05:00
поделиться

Я думаю вопрос---кроме педантичного о слове, которое я упомяну ниже---, каково поведение, которое Вы намереваетесь определить этим тегом "Initializable", могло бы быть.

Это не редкий стиль для записи закрытого метода init () в, например, Java, чтобы сделать сложную инициализацию; так как тот код может быть необходим в нескольких местах (что с конструкторами копии, операции клонирования и так далее), это - просто хорошая форма. Его менее общее, но допустимая вещь к так, чтобы иметь "Вперед" класс, который создается, но это ожидает некоторой асинхронной операции, чтобы быть полностью инициализированным (например, Асинхронный Маркерный шаблон Завершения). Таким образом, это не обязательно так, чтобы это было только в ctor, но мне любопытно, каково фактическое поведение, которое Вы хотите, было бы.

На слове английский язык является несколько агглютинативным языком, как немецкий язык: существуют грамматические правила, которые создают работы из основных слов и там слогов в шаблонах. один из тех является тем здесь, "Начальная буква"-> "инициализируют" => "initializable". Любой носитель языка распознает "initializable" как что-то, что имеет свойство способности, которая будет инициализирована. Таким образом, это - слово значения, но один они не имеют в словаре по той же причине, которые не имеют отдельных записей для множественных чисел.

3
ответ дан 5 December 2019 в 05:00
поделиться

Если Initializable наиболее ясно описывает то, о чем интерфейс, я не заботился бы о попытке найти другое слово именно так, это - допустимое английское слово. Пока это не строка UI, приоритет должен быть в именовании ясности не законностью слова на английском языке.

1
ответ дан 5 December 2019 в 05:00
поделиться

Я ничего не вижу неправильно с составлением слова для подобной API вещи, если изобретенное слово ясно.

Я думаю худшие слова, чем Initializable были изобретены - такие как 'stringize' и 'RAII' (я nkow, это не слово, но это - все еще термин, это часто используется и заставляет меня съежиться каждый раз - даже при том, что понятие является doubleplusgood).

Проблема я мог бы иметь с Initializable это, это походит на интерфейс, который делает то, что должен делать конструктор.

2
ответ дан 5 December 2019 в 05:00
поделиться

Да, это прекрасно. Условия программирования не должны быть в словаре. Dictionary.com также не нравится "сериализуемый", и все мы знаем что OK.

1
ответ дан 5 December 2019 в 05:00
поделиться

Да. Не позволяйте отсутствию существующего слова испортить Вашу креативность, если значение является четким

1
ответ дан 5 December 2019 в 05:00
поделиться

Если Google отдает ссылки API для "Initializable", это кажется мне как допустимое название интерфейса, даже при том, что это не могло бы быть допустимое английское слово. Нет ничего неправильно с использованием искусственного слова, пока это является описательным.

Единственной вещью, о которой я запутываюсь, являются классы, обычно могут быть инициализированным через их конструктора. Как Ваш интерфейс обеспечивает функциональность, не доступную с помощью конструктора? Ответ на этот вопрос может обеспечить более описательное имя, чем просто "Initializable". (т.е. каким образом это initializable?)

1
ответ дан 5 December 2019 в 05:00
поделиться

Для тех, кто сомневается в использовании инициализации - вы можете поместить логику конструктора в метод void, чтобы избежать состояния гонки при построении слабосвязанных классов через фабрики.

Пример Factory:

    public static T CreateSingleInstance<T>(string providerName, string sectionName)           
    {
        //create the key
        ProviderKey key = new ProviderKey(providerName, typeof(T));

        //check key
        if (!_singletons.ContainsKey(key))
        {
            object provider = _singletons[key] = CreateInstance<T>(providerName, sectionName);

            IInitializable initializableProvider = provider as IInitializable;
            if (initializableProvider != null)
                initializableProvider.Initialize();
        }

        return (T)_singletons[key];
    }

Пример конструктора реализации, который может вызвать состояние гонки

    public class Class
    {
        public Class()
        {
            Factory.CreateSingleInstance<OtherClass>(null, null);
        }
    }
    public class OtherClass
    {
        public OtherClass()
        {
            Factory.CreateSingleInstance<Class>(null, null);
        }
    }
0
ответ дан 5 December 2019 в 05:00
поделиться
Другие вопросы по тегам:

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