Уверен, что я буду пламен для этого, но так будет.
Это так называемые Microsoft-библиотеки, но это действительно взгляды Брэда Адамса - есть другие взгляды по веским причинам.
Люди склонны идти с мажоритарным взглядом, а не иметь веские причины для определенного стиля.
Важным моментом является оценка того, почему используется конкретный стиль и почему он предпочтительнее другого стиля - другими словами, есть причина выбора стиля не только потому, что все говорят, что это то, что нужно сделать - подумайте сами.
Основная причина отказа от использования венгерского стиля в старом стиле - использование аббревиатур, которые были разными для каждой команды и которые трудно понять - это легко решить, не сокращаясь.
Поскольку доступные инструменты для разработки меняются, стиль должен измениться на то, что имеет наибольший смысл, но у него есть веская причина для каждого элемента стиля.
Ниже приведены мои рекомендации по стилю с моими соображениями. Я всегда ищу способы улучшить свой стиль, чтобы создать более надежный и простой в обслуживании код.
Конвенция Переменная Нейминг
Мы все наше представление о переменных именования. Существует много разных стилей, которые помогут создать легко поддерживаемый код качества - любой стиль, который поддерживает основную важную информацию о переменной, в порядке. Критерии для конкретного соглашения об именах должны заключаться в том, что он помогает создавать надежный и легко ремонтируемый код. Критерии, которые не должны использоваться: Это уродливое Microsoft (т.Брэд Адамс) говорит, что не используйте этот стиль - Microsoft не всегда производит самый надежный код, просто посмотрите на ошибки в Expression Blend. Очень важно при чтении кода, чтобы имя переменной мгновенно передало три существенных факта о переменной: - это область . Это тип . Четкое понимание того, что используется для . Область применения: Microsoft рекомендует полностью полагаться на IntelliSense. IntelliSense потрясающе; однако, просто не мышь над каждой переменной, чтобы увидеть ее область и тип. Предполагая, что переменная находится в области, которая не может вызвать значительных ошибок. Например, если ссылочная переменная передается в качестве параметра и изменяется в локальной области видимости, изменение будет оставаться после возврата метода, что может быть нежелательным. Если поле или статическая переменная изменяются в локальной области, но считается, что это локальная переменная, может возникнуть непредвиденное поведение. Поэтому чрезвычайно важно иметь возможность просто взглянуть на переменную (а не на мышь) и сразу же узнать ее область.
Предлагается следующий стиль для указания области видимости; однако любой стиль совершенно в порядке, если он четко и последовательно указывает область переменной: переменная поля m_ Параметр p_, переданный методу s_ статическая переменная Локальная переменная Тип: Серьезные ошибки могут возникать, если верить, что они работают с конкретным типом, когда они фактически работают с другим типом - опять же, мы просто не наводим указатель мыши на переменную, чтобы определить ее тип, мы просто предполагаем, что знаем, что такое его тип, и именно так создаются ошибки.
Сокращения: Аббревиатуры являются злыми, потому что они могут означать разные вещи для разных разработчиков. Один разработчик может думать, что ведущий строчный «s» означает строку, а другой может считать, что это означает целое число со знаком. Сокращения являются признаком ленивого кодирования - возьмите немного дополнительного времени и введите полное имя, чтобы дать понять разработчику, который должен поддерживать код. Например, разница между «str» и «string» составляет всего три символа - для упрощения ведения кода приложение не требует больших усилий.
Общие и понятные сокращения для встроенных типов данных приемлемы, но должны быть стандартизированы внутри команды.
Код самодополнения: добавление четкого описания в имя переменной упрощает чтение и понимание кода другим разработчикам, поэтому вы можете понять, что руководитель команды может читать и понимать код, не будучи разработчиком.
Порядок имен переменных. Рекомендуемый порядок - это описание типа-области, потому что: IntelliSense объединяет все подобные области и внутри каждой области. IntelliSense объединяет все похожие типы, что упрощает поиск - попробуйте найти переменную в другую сторону это делает его очень легко увидеть и понять масштабы и увидеть и понять тип это довольно распространенный стиль и легко понять он пройдет FxCop
Примеры: Вот несколько примеров: m_stringCustomerName p_stringCustomerDatabaseConnectionString intNumberOfCustomer Записи или iNumberOfCustomerRecords или integerNumberOfCustomerRecords Эти простые правила значительно улучшат надежность и ремонтопригодность кода.
Элементы управления с одной строкой Все управляющие структуры (если, в то время как для и т. Д.) Операторы одной строки всегда должны быть обернуты скобками, потому что очень просто добавить новый оператор, не понимая, что данное утверждение относится к управляющая структура, которая разрушит логику кода, не генерируя никаких ошибок времени компиляции.
Метод исключения Обертывание Все методы должны быть завернуты с внешней примерки уловом, который ловушку, обеспечить место для восстановления, выявить, локализовать, журнал, и принять решение бросить или нет. Это неожиданное исключение, которое приводит к сбою наших приложений - путем переноса каждого метода, улавливающего все необработанные исключения, мы гарантируем идентификацию и регистрацию всех исключений, и мы предотвращаем наше приложение из-за сбоя. Это требует немного больше работы, но результаты хорошо стоят усилий.
Отступ Отступ не является серьезной проблемой; однако предлагается четыре пробела и не использовать вкладки. Если код печатается, первая вкладка принтера обычно имеет 8 пробелов. Различные разработчики склонны использовать разные размеры вкладок. Обычно код Microsoft имеет отступы на 4 места, поэтому, если вы используете любой код Microsoft и используете не 4 пробела, тогда код нужно будет переформатировать. Четыре пробела делают его простым и последовательным.
Это обсуждалось много раз на этом форуме. Это религиозная дискуссия, и вы никогда не найдете «правильный» ответ. –
Согласно одному из ответов, статьи MSDN о стиле были написаны некоторыми Брэдом Адамсом. Он объясняет правила именования в блоге «Причины расширения общедоступных правил (без венгерского языка, без префикса для переменных-членов и т. Д.) Заключается в создании согласованного внешнего вида исходного кода. Кроме того, цель состоит в том, чтобы иметь чистый читаемый источник. четкость должна быть основной целью ». http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx – user7610