Как назвать интерфейс, когда базовое слово начинается с I

Вам также нужно выполнить итерацию arr, чтобы заполнить все элементы.

const 
    arr = [{ name: 'name1', item: [] }, { name: 'name2', item: [] }],
    routes = [{ methods: { get: { title: 'get users' } } }, { methods: { get: { title: 'get user id' }, delete: {} } }, ];

arr.forEach(({ item }) =>
    routes.forEach(({ methods }) => {
        for (const method in methods) {
            let { title: name = 'Not specified' } = methods[method];
            item.push({ name, request: { method } });
        }
    })
);

console.log(arr);
.as-console-wrapper { max-height: 100% !important; top: 0; }

24
задан Eric Anastas 26 August 2010 в 05:39
поделиться

5 ответов

Хотя IItem трудно читать, он соответствует некоторым существующим интерфейсам "II":

28
ответ дан 28 November 2019 в 23:27
поделиться

Просто IItem. Нет необходимости в исключении.

Интерфейсы начинаются с двух заглавных букв (I [A-Z]), которые идентифицируют их как интерфейс. Таким образом, Item не является интерфейсом, но IItem является.

9
ответ дан 28 November 2019 в 23:27
поделиться

Вы можете видеть, что парни из MS используют System.ComponentModel.IItemProperties

2
ответ дан 28 November 2019 в 23:27
поделиться

Edit 2016/08/12: Первоначально я предоставил этот ответ как альтернативный взгляд на соглашения об именах. Мой повседневный C# теперь использует I-префикс, чтобы сохранить идиоматичность и уменьшить когнитивную нагрузку за счет согласованности. Я думаю, что последовательность важнее вопросов, которые я поднимаю ниже. Короче говоря, придерживайтесь соглашений кодовой базы, в которой вы работаете.


Just Item. Не потому, что интерфейс начинается с I, а скорее потому, что префикс классов с идентифицирующими буквами не нужен. Украшать интерфейсы с помощью I так же уродливо, как ставить C перед вашими конкретными именами классов (а-ля MFC). Префикс типов с чем угодно так же плох, как и использование венгерской нотации.

Вы можете возразить, что это на самом деле дает вам семантическую ценность, но я в этом не убежден. У меня современная IDE, и мне не нужны более сложные имена типов.

2
ответ дан 28 November 2019 в 23:27
поделиться

Согласно соглашению об именах .Net перед именем интерфейса должна стоять заглавная буква «I», за которой следует имя интерфейса в регистре Camel.

Поэтому я предлагаю вам назвать элемент интерфейса следующим образом:

IItem

Нет необходимости упоминать «Интерфейс» в конце, потому что буква «I» в самом начале говорит о том, что это Интерфейс, и не требует явного упоминания.

3
ответ дан 28 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

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