Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
28 / 28 / 2
Регистрация: 24.01.2013
Сообщений: 183
1

Рекомендации Microsoft по оформлению проекта

03.04.2013, 09:17. Показов 1921. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сегодня начал читать и наткнулся на следующее предложение :

When an identifier consists of multiple words, do not use separators, such as underscores ("_") or hyphens ("-"), between words. Instead, use casing to indicate the beginning of each word.

Я обычно использую как разделитель нижний пробел, но мелкомягкий не рекомендует этого делать с чем это связано, критично ли это и в каких случаях. что касается дефиса то не понятно для чего его сюда включили ведь ни один клас или метод используя его в названии не создать выдаст ошибку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2013, 09:17
Ответы с готовыми решениями:

Дать рекомендации по улучшению проекта
Уважаемые разработчики! Прошу кинуть ваш профессиональный взгляд на сей маленький проект. Его...

Где посмотреть рекомендации по оптимизации проекта
Где посмотреть можно ? Интересует оптимизация производительности и трафика.

Рекомендации по оформлению PHP кода
Часто читая темы новичков я встречаю очень ужасного вида код, это пугает и отбивает желание...

Рекомендации по оформлению запроса об оказании помощи в разделах Windows
краткие рекомендации по оформлению запроса о помощи в разделах windows если вы хотите что бы в...

10
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.04.2013, 09:22 2
Цитата Сообщение от ayrat Посмотреть сообщение
но мелкомягкий не рекомендует этого делать с чем это связано
потому что ваш код будет выделятся на фоне остального кода в том числе и на фоне стандартной библиотеки
1
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
03.04.2013, 09:51 3
Цитата Сообщение от ayrat Посмотреть сообщение
Я обычно использую как разделитель нижний пробел, но мелкомягкий не рекомендует этого делать с чем это связано
Вот такой подход есть даже в исходниках .NET, насколько я помню (использование прочерка в начале локальных переменных для класса/структуры):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace DocumentParser.Melt
{
    /// <summary>Информация полученная зондом</summary>
    public struct ProbeInformation
    {
        float _oxidation;
        int _temperature;
        float _percentСarbon;
 
        public ProbeInformation(float oxidation, int temperature, float percentСarbon)
        {
            _oxidation = oxidation;
            _temperature = temperature;
            _percentСarbon = percentСarbon;
        }
 
        /// <summary>Окисленность</summary>
        public float Oxidation
        {
            get { return _oxidation; }
            set { _oxidation = value; }
        }
 
        /// <summary>Температура</summary>
        public int Temperature
        {
            get { return _temperature; }
            set { _temperature = value; }
        }
 
        /// <summary>Процент углерода</summary>
        public float PercentСarbon
        {
            get { return _percentСarbon; }
            set { _percentСarbon = value; }
        }
    }
}
1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
03.04.2013, 09:57 4
Цитата Сообщение от ayrat Посмотреть сообщение
но мелкомягкий не рекомендует этого делать с чем это связано
С тем, чтобы было проще наткнуться на ошибку, когда твое имя совпадет с каким-нибудь именем класса/функции мелкомягких. Использовать подчеркивание, чтобы этого избежать точно сейчас и в будущем - это хороший вариант.
1
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.04.2013, 11:30 5
Casper-SC, насколько я понял, имеется ввиду не
C#
1
_corner
а
C#
1
Some_very_bid_identifier
Добавлено через 51 секунду
ayrat, первый ответ наиболее правильный. По той же причине, почему в именах классов и переменных не используют кириллицу и иероглифы, хотя юникод этого тоже не запрещает!
1
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
03.04.2013, 11:40 6
Цитата Сообщение от Psilon Посмотреть сообщение
Casper-SC, насколько я понял, имеется ввиду не
Всё верно. Я понял это с самого начала. Просто решил дополнить и показать где реально используют прочерк. Ну есть такой Code Style в C#. А прочерк в названии классов, особенно в начале, как по мне дико . В С++ как-то увидел такие классы (или что я там видел, не помню), фиг поймёшь что к чему, куча одинаковых названий с разной длины прочерками. Короче, как по мне в .NET самый идеальный Code Style в самом фрэймворке хотя бы.

Добавлено через 3 минуты
Пространства имён не просто так придумали, нафиг там прочерки в названии классов не нужны.
1
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.04.2013, 11:48 7
Casper-SC, да, я вот на winapi лабы делаю, такой ужас
1
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
03.04.2013, 11:52 8
Цитата Сообщение от ayrat Посмотреть сообщение
что касается дефиса то не понятно для чего его сюда включили ведь ни один клас или метод используя его в названии не создать выдаст ошибку.
Есть техническая возможность черезжопно вставить дефис в идентификатор, которую вряд ли будут использовать.
Но от умников МС все же защитилась.
1
75 / 50 / 14
Регистрация: 28.03.2013
Сообщений: 175
03.04.2013, 15:01 9
Цитата Сообщение от Casper-SC Посмотреть сообщение
Вот такой подход есть даже в исходниках .NET, насколько я помню (использование прочерка в начале локальных переменных для класса/структуры):
в .net просто так принято и помогает понять Ваш код окружающим. PascalCase для методов и свойств, camelCase для локальных переменных, _value для приватных переменных.

Но это не более чем рекомендации, чтобы не получилось как в PHP, где угадать как будет называться метод (с подчеркиванием, fly_To_Sky или fly2Sky) не подглядывая в документацию невозможно. В том же Python принято наоборот, писать через подчеркивания.
0
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
03.04.2013, 15:02 10
Цитата Сообщение от alechka Посмотреть сообщение
в .net просто так принято и помогает понять Ваш код окружающим. PascalCase для методов и свойств, camelCase для локальных переменных, _value для приватных переменных
Я в курсе. Я сам так пишу. Плюс порядок такой использую в классе: поля, конструкторы, события, свойства, методы.
1
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
03.04.2013, 16:50 11
Same, но перестал пользоваться подчеркиванием для приватных полей, потому что IDE сама подсказывает. Считаю таким же атавизмом, как и венгерская нотация
0
03.04.2013, 16:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2013, 16:50
Помогаю со студенческими работами здесь

Рекомендации Microsoft по разметке HDD
Доброе всем время суток. Итерисует вопрос, а ответа в google что то найти не могу. А вопро такой:...

Microsoft опубликовала рекомендации по ускорению Internet Explorer 8
Корпорация Microsoft выпустила 14-страничный документ с официальными рекомендациями по улучшению...

Решение проекта в Microsoft Visual Studio C++
Подскажите как реализовать это пример, сразу оговорюсь (консольное приложение) в Microsoft Visual...

Компилирование проекта без Microsoft.VisualBasic
Нужно скомпилировать программу так, что бы она запустилась под mono 2.6, где нет этой билиотеки....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru