Re[11]: Именование полей, переменных, выбор нотации
От: Igor Soukhov  
Дата: 15.02.04 21:03
Оценка: :)
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, IT, Вы писали:


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


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


в свете последних событий можно сказать что и g_ они не брезгуют =)
* thriving in a production environment *
Re[10]: Именование полей, переменных, выбор нотации
От: alexkro  
Дата: 15.02.04 22:52
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Igor Trofimov, Вы писали:


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


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


Каким образом ты различаешь локальные переменные и параметры методов?
Re[11]: Именование полей, переменных, выбор нотации
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.02.04 07:34
Оценка: +1
Здравствуйте, alexkro, Вы писали:

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


A>Каким образом ты различаешь локальные переменные и параметры методов?


Различать их особого смысла нет
... << RSDN@Home 1.1.3 beta 2 >>
AVK Blog
Re[10]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 16.02.04 07:44
Оценка: 30 (2) :)))
Здравствуйте, AndrewVK, Вы писали:


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


AVK>Assembly.m_assemblyData

AVK>Assembly.m_cachedData
AVK>Assembly.s_localFilePrefix

а-а, я понял! Они просят не пользоваться префиксами, потому что пользуются ими сами — чтобы не было конфликтов
... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[11]: Именование полей, переменных, выбор нотации
От: RvRom  
Дата: 16.02.04 08:22
Оценка:
> AVK>Вопрос вкуса. В любом случае приватные, публичные члены, локальные переменные и параметры методов должны различаться по написанию. Синтаксиса, удовлетворяющего этому и притом идеального я не встречал.
> Согласен, действительно во многом — дело вкуса.

http://www.qualitygeneration.com/cgi-bin/genCodeStd.pl
вот тут есть хорошая ссылка создания шаблона для кодирования
Posted via RSDN NNTP Server 1.8 beta
Re[11]: Именование полей, переменных, выбор нотации
От: AsIs  
Дата: 16.02.04 10:25
Оценка: -1
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, IT, Вы писали:


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


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


я думаю когда MS писал код у них не было еще Visual Studio с Intellisense. Вот он и наплодил в notepad этих доисторических пре+суффиксов в своих исходниках.

То же самое относится и к префиксу _

Если пользоваться intellisense то получается
get { return this.privateMember; }

а если не пользоваться, то
get { return _privateMemeber; }


надо у IT подсмотреть в исходники что бы догадку проверить
Re[5]: Именование полей, переменных, выбор нотации
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.02.04 12:54
Оценка:
Здравствуйте, Al-Ko, Вы писали:

AK>Здравствуйте, Lloyd, Вы писали:


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


AK>странно... смотрю листинги с примерами из MSDN и т.д. — не видно там подчеркивания.


Плохо смотришь. Например глянь на последние ролики из MSDN TV.

Еще очень полезно скачать ротор (исходники дотнета) и натравить на него поиск по файлам VS. Ставишь в путь CLI\fx\src и в поиск _\:i (с включенными регэкспами)... нажимаешь поиск... и любуешся на список файлов:
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(105):            _Credentials  = Credentials;
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(154):               return _ProxyAddress;
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(157):               _ProxyHostAddresses = null;  // hash list of proxies                                                
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(158):               _ProxyAddress = value; 
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(168):                return _BypassOnLocal;                
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(171):                _BypassOnLocal = value;
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(181):                if (_BypassList == null) {
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(182):                    _BypassList = new ArrayList();
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(186):                        _BypassList.ToArray(typeof(string));
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(190):                _BypassList = new ArrayList(value);
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(201):                return _Credentials;
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(204):                _Credentials = value;                
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(214):                if ( _BypassList == null ) {
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(215):                    _BypassList = new ArrayList();
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(217):                return _BypassList;
C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(230):            Hashtable proxyHostAddresses = _ProxyHostAddresses;
....
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(221):                _CompiledStylesheet = compiledStylesheet;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(222):                _QueryStore         = queryStore;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(223):                _RootAction         = rootAction;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(231):            if (_CompiledStylesheet == null || _QueryStore == null || _RootAction == null) {
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(235):            compiledStylesheet  = _CompiledStylesheet;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(236):            queryStore          = _QueryStore;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(237):            rootAction          = _RootAction;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(238):            int queryCount      = _QueryStore.Count;
C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(242):                    XPathExpression query = ((TheQuery)_QueryStore[i]).CompiledQuery;
9023 occurrence(s) have been found.


Если хочшь приведу полный список вхождений (1.5 мега).
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Именование полей, переменных, выбор нотации
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.02.04 12:54
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


Ошибаешся. Как раз чаще _. Но встречаются разные стили. m_ больше в С++, _ в Шарпе.

Вот достоверная статистика

_  - 9023
m_ - 2855


А часто два стиля пересекаются:
C:\MyProjects\CLI\fx\src\xml\system\newxml\xpath\xpathancestorquery.cs(58):            _eLast = m_qyInput.advance();
C:\MyProjects\CLI\fx\src\xml\system\newxml\xpath\xpathancestorquery.cs(67):                _eLast = m_qyInput.advance();
C:\MyProjects\CLI\fx\src\xml\system\newxml\xpath\xpathancestorquery.cs(92):            _eLast = m_qyInput.advance();
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Именование полей, переменных, выбор нотации
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.02.04 12:54
Оценка:
Здравствуйте, Igor Soukhov, Вы писали:

IS>в свете последних событий можно сказать что и g_ они не брезгуют =)


Ни одного вхождения в Шарповском коде Ротора.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 17.02.04 13:26
Оценка:
Здравствуйте, VladD2, Вы писали:

V
VD>Еще очень полезно скачать ротор (исходники дотнета) и натравить на него поиск по файлам VS. Ставишь в путь CLI\fx\src и в поиск _\:i (с включенными регэкспами)... нажимаешь поиск... и любуешся на список файлов:
VD>[code]
VD>C:\MyProjects\CLI\fx\src\net\system\net\webproxy.cs(105): _Credentials = Credentials;

ну знаешь, в MS и венгры работают...
... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[7]: Именование полей, переменных, выбор нотации
От: Al-Ko  
Дата: 17.02.04 13:30
Оценка:
Здравствуйте, Al-Ko, Вы писали:

AK>ну знаешь, в MS и венгры работают...


VD>C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(221): _CompiledStylesheet = compiledStylesheet;

VD>C:\MyProjects\CLI\fx\src\xml\system\newxml\xslt\xsltransform.cs(222): _QueryStore = queryStore;

Update of /cvs/public/mcs/class/System.XML/System.Xml.Xsl
In directory mono-cvs.ximian.com:/tmp/cvs-serv13664

Modified Files:
XslTransform.cs ChangeLog
Log Message:
2003-07-02 Zoltan Varga <vargaz@freemail.hu> <============
... << RSDN@Home 1.1.3 beta 1 >>
Старый глюк лучше новых двух!
Re[12]: Именование полей, переменных, выбор нотации
От: mihailik Украина  
Дата: 19.02.04 16:53
Оценка:
AVK>>Справедливости ради чаще все таки используется m_ и s_

VD>Ошибаешся. Как раз чаще _. Но встречаются разные стили. m_ больше в С++, _ в Шарпе.


Всё-таки простое подчёркивание выглядит пугающе, по-системному. Я — за "m_"
... << RSDN@Home 1.1.3 beta 1 >>
Re[12]: Именование полей, переменных, выбор нотации
От: mihailik Украина  
Дата: 19.02.04 16:53
Оценка: :)
A>>Каким образом ты различаешь локальные переменные и параметры методов?

AVK>Различать их особого смысла нет


Точно. Локальные переменные сами по себе имеют отличительный префикс "this."
... << RSDN@Home 1.1.3 beta 1 >>
Re[13]: Именование полей, переменных, выбор нотации
От: mikа Stock#
Дата: 19.02.04 19:49
Оценка:
Здравствуйте, mihailik, Вы писали:

A>>>Каким образом ты различаешь локальные переменные и параметры методов?


AVK>>Различать их особого смысла нет


M>Точно. Локальные переменные сами по себе имеют отличительный префикс "this."


this применяется к переменным-членам класса (или просто "поле"). Локальные — это локальные и они не видимы через this. Если ты, конечно, свой язык не пишешь
Re[13]: Именование полей, переменных, выбор нотации
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.02.04 23:00
Оценка: :))
Здравствуйте, mihailik, Вы писали:

M>Всё-таки простое подчёркивание выглядит пугающе, по-системному. Я — за "m_"


Ну, ты это... просто на ночь не программируй.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Именование полей, переменных, выбор нотации
От: mihailik Украина  
Дата: 20.02.04 12:08
Оценка:
M>Локальные — это локальные и они не видимы

Ой туплю...
... << RSDN@Home 1.1.3 beta 1 >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.