Эмпирическое правило для именования классов обертки

Столкнулся с той же проблемой из-за нескольких файлов .gitconfig в окнах, следуя приведенным ниже инструкциям, чтобы исправить это:

Шаг 1: Открыть Git BASH

Шаг 2: Найдите .gitconfig, выполнив следующую команду:

git config --list --global --show-origin

Шаг 3: Скопируйте приведенный ниже контент в .gitconfig:

[http]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[https]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[url "http://github.com/"]
    insteadOf = git://github.com/

[user]
    name = Arpit Aggarwal
    email = aggarwalarpit.89@gmail.com
16
задан jpoh 24 July 2009 в 07:14
поделиться

3 ответа

Соглашения об именах - это все, что работает для вашей команды » повторно работаем с. Если все согласны с определенным соглашением, все в порядке.

Я предпочитаю более подробную версию, то есть DirectoryInfoWrapper , а не одну букву, которая никому ничего не объясняет кто не знаком с кодом. Но это только я.

17
ответ дан 30 November 2019 в 22:17
поделиться

I'll agree with aberrant80 , if everyone agrees with the convention you are using, then it'll work.

I personally prefer using names that are shorter and descriptive to the class's purpose. At least at the interface level. If you're using a mock framework, then IDirectory or IDirectoryInfo would be a decent set of names, while DirectoryInfoW or DirectoryInfoWrapper would be an interface implementer.

A better example might be wrapping an HttpRequest; define an IRequest to state 'this is what is important to my application', then Request, HttpRequestWrapper, Request, etc would be implementers.

So, to summarize, try and use descriptive, non-overly-verbose interface names.

3
ответ дан 30 November 2019 в 22:17
поделиться

В качестве примечания, я нашел более эстетичный (ну, для меня) способ обертывания вызовов собственных методов:

public class NativeMethods
{
        // made virtual so that it can be mocked - I don't really want
        // an interface for this class!
        public virtual bool RevertToSelf()
        {
            return WinApi.RevertToSelf();
        } 

        ...

        private static class WinApi
        {
            [DllImport("advapi32.dll")]
            public static extern bool RevertToSelf();

            ...
        }
}

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

Нет «хорошего» решения проблемы именования классов-оболочек, я, вероятно, пошел бы с предложением aberrant80 и явно называл бы мои обертки-обертки.

0
ответ дан 30 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

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