Именование полей, переменных, выбор нотации
От: aschmidt  
Дата: 13.02.04 13:20
Оценка: 7 (3) +2
Здравствуйте, Jack Osicilator, Вы писали:

JO>Здравствуйте, Kir., Вы писали:


JO>Ошибочка.

JO>Вот как нужно:

Вот так как раз не нужно
Начинается... _, psz, h...

public int Prop
{
get { return prop; }
set { this.prop = value; }
}


public

JO>
JO>class TestClass1
JO>{
JO>    int _prop; // You need a member variable for storing the property's value
JO>    public TestClass1()
JO>    {
JO>        Console.WriteLine("TestClass1 started");
JO>        prop=1;
JO>    }
JO>    public int prop
JO>    {
JO>        get
JO>        {
JO>            return _prop;
JO>        }
JO>        set
JO>        {
JO>            _prop = value; // This will work correctly
JO>        }
JO>    }        
JO>    public void Trace()
JO>    {
JO>        Console.WriteLine("The value is {0}", prop);
JO>    }
JO>}
JO>



15.02.04 17:34: Ветка выделена из темы Ошибка при установвке значения свойства...
Автор: Kir.
Дата: 13.02.04
— TK
15.02.04 17:35: Перенесено модератором из '.NET' — TK
Re[3]: Именование полей, переменных, выбор нотации
От: Lloyd Россия  
Дата: 13.02.04 14:12
Оценка: +2
Здравствуйте, aschmidt, Вы писали:

A>Вот так как раз не нужно

A>Начинается... _, psz, h...

Но использование _ для приватных полей очень удобно. Зачем себя тут ограничивать?
Re[4]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 13.02.04 14:20
Оценка: +1 -1
Здравствуйте, Lloyd, Вы писали:

L>Но использование _ для приватных полей очень удобно. Зачем себя тут ограничивать?


странно... смотрю листинги с примерами из MSDN и т.д. — не видно там подчеркивания. Зачем оно? prop — приватное поле, Prop — свойство. Зачем тут еще разные птичьи символы?
... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[4]: Именование полей, переменных, выбор нотации
От: Igor Trofimov  
Дата: 13.02.04 15:48
Оценка:
L>Но использование _ для приватных полей очень удобно. Зачем себя тут ограничивать?

Не так уж это и удобно. Ошибка в одном символе приводит к тяжелым последствиям.
Re[5]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.02.04 20:39
Оценка:
Здравствуйте, Al-Ko, Вы писали:

AK>странно... смотрю листинги с примерами из MSDN и т.д. — не видно там подчеркивания. Зачем оно? prop — приватное поле, Prop — свойство. Зачем тут еще разные птичьи символы?


А локальные переменные?
... << RSDN@Home 1.1.3 beta 1 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[6]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 14.02.04 11:46
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>А локальные переменные?


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnamingguidelines.asp
и никаких подчеркиваний!
... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[7]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.02.04 13:44
Оценка:
Здравствуйте, Al-Ko, Вы писали:

AK>и никаких подчеркиваний!


Ты сам то читал? В курсе что это руководство к стилю внешнего интерфейса? Про приватные поля и локальные переменные там ни слова.

PS: сам МС нередко применяет в фреймворке префикс m_ для приватных членов.
... << RSDN@Home 1.1.3 beta 1 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[8]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 14.02.04 13:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:


AVK>Ты сам то читал? В курсе что это руководство к стилю внешнего интерфейса? Про приватные поля и локальные переменные там ни слова.


AVK>PS: сам МС нередко применяет в фреймворке префикс m_ для приватных членов.


извини, не туда ссылку дал:

http://msdn.microsoft.com/library/en-us/cpgenref/html/cpconFieldUsageGuidelines.asp

там, в частности, есть такие слова:

Do not use Hungarian notation for field names. Good names describe semantics, not type.
Do not apply a prefix to field names or static field names. Specifically, do not apply a prefix to a field name to distinguish between static and nonstatic fields. For example, applying a g_ or s_ prefix is incorrect.

... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[8]: Именование полей, переменных, выбор нотации
От: Igor Trofimov  
Дата: 14.02.04 14:16
Оценка: +1
AVK>PS: сам МС нередко применяет в фреймворке префикс m_ для приватных членов.

Что не мешает подобному стилю именования быть весьма некрасивым (это, конечно, убъективно, но все-таки...). Кстати, там рядом, в этом naming guide кажется все-таки есть пара грубых слов по поводу незначащих префиксов типа m_
Re[5]: Именование полей, переменных, выбор нотации
От: Lloyd Россия  
Дата: 14.02.04 19:28
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>Не так уж это и удобно. Ошибка в одном символе приводит к тяжелым последствиям.


к каким?
Re[9]: Именование полей, переменных, выбор нотации
От: Lloyd Россия  
Дата: 14.02.04 19:31
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>Что не мешает подобному стилю именования быть весьма некрасивым (это, конечно, убъективно, но все-таки...).


Ну мы же не девушки, чтобы ради красоты жертвовать удобсвом.
Re[6]: Именование полей, переменных, выбор нотации
От: Igor Trofimov  
Дата: 14.02.04 19:32
Оценка:
iT>>Не так уж это и удобно. Ошибка в одном символе приводит к тяжелым последствиям.

Например к таким, с какого начался этот тред.
Re[7]: Именование полей, переменных, выбор нотации
От: Lloyd Россия  
Дата: 14.02.04 19:38
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>Например к таким, с какого начался этот тред.


Уеряю тебя, ошибиться в регистре гораздо легче.
Re[9]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.02.04 20:04
Оценка:
Здравствуйте, Al-Ko, Вы писали:

AK>там, в частности, есть такие слова:


AK>

AK>Do not use Hungarian notation for field names. Good names describe semantics, not type.
AK>Do not apply a prefix to field names or static field names. Specifically, do not apply a prefix to a field name to distinguish between static and nonstatic fields. For example, applying a g_ or s_ prefix is incorrect.


Ага, это называется правая рука не знает что делает левая. Вот к примеру:

Assembly.m_assemblyData
Assembly.m_cachedData
Assembly.s_localFilePrefix
... << RSDN@Home 1.1.3 beta 1 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[9]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.02.04 20:04
Оценка: +1
Здравствуйте, Igor Trofimov, Вы писали:

iT>Что не мешает подобному стилю именования быть весьма некрасивым


Вопрос вкуса. В любом случае приватные, публичные члены, локальные переменные и параметры методов должны различаться по написанию. Синтаксиса, удовлетворяющего этому и притом идеального я не встречал.
... << RSDN@Home 1.1.3 beta 1 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[10]: Именование полей, переменных, выбор нотации
От: Igor Trofimov  
Дата: 15.02.04 09:53
Оценка:
AVK>Вопрос вкуса. В любом случае приватные, публичные члены, локальные переменные и параметры методов должны различаться по написанию. Синтаксиса, удовлетворяющего этому и притом идеального я не встречал.

Согласен, действительно во многом — дело вкуса.
Re[8]: Именование полей, переменных, выбор нотации
От: Igor Trofimov  
Дата: 15.02.04 09:54
Оценка:
iT>>Например к таким, с какого начался этот тред.
L>Уеряю тебя, ошибиться в регистре гораздо легче.

А где я утверждал обратное? Префикс "_" — это плохо, а если разница — только в регистре — это вообще кошмар, имхо.
Re[9]: Именование полей, переменных, выбор нотации
От: IT Россия linq2db.com
Дата: 15.02.04 17:53
Оценка: +1
Здравствуйте, Igor Trofimov, Вы писали:

iT>А где я утверждал обратное? Префикс "_" — это плохо, а если разница — только в регистре — это вообще кошмар, имхо.


Префикс '_' для внутренных полей класса — это как раз хорошо. Во-первых, хорошо для отличия от локальных переменных и параметров. Во-вторых, удобнее использование IntelliSense. В-третьих, открываем отладчик и видим, что в падавляющем числе классов MS использует именно этот способ для объявления внутренних полей. Да и по опыту, попробовав множество всяких вариантов, именно этот способ кажется моему ИМХУ наиболее удобным
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.02.04 19:31
Оценка:
Здравствуйте, IT, Вы писали:

IT>В-третьих, открываем отладчик и видим, что в падавляющем числе классов MS использует именно этот способ для объявления внутренних полей.


Справедливости ради чаще все таки используется m_ и s_
... << RSDN@Home 1.1.3 beta 1 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[11]: Именование полей, переменных, выбор нотации
От: mikа Stock#
Дата: 15.02.04 20:31
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Справедливости ради чаще все таки используется m_ и s_


Странно. Как раз чаще всего встречал простое "_".
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.