Re[5]: Соглашения по оформлению кода команды RSDN
От: Воронков Василий Россия  
Дата: 27.03.04 12:27
Оценка: +1
Здравствуйте, orangy, Вы писали:

O>Offtopic: Знаешь, почему ошибки в комменатриях у MS обозначаются BUGBUG: а не просто BUG?


Почему?
... << RSDN@Home 1.1.3 stable >>
Re[7]: Соглашения по оформлению кода команды RSDN
От: alku  
Дата: 27.03.04 12:31
Оценка:
Здравствуйте, Andre, Вы писали:

A>Сорри, немного ошибся ссылкой. Более парвильная ссылка здесь


это обсуждение (по линку которое) доказывает что надо развивать стандарт не сверху-вниз а с низу-вверх...
т.е. от девелоперов до менеджеров и тулзов, а не наоборот.

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

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

проше отслеживать изминения кода по сорсафе и потом раздавать тумаки за нарушение правил, но такое для больших фирм по моему не будет работать... а для команды до 10 человек очень даже работает... только менеджеру приходиться туго на первых порах. через месяц вся команда уже нормально пашет в установленных правилах и нагрузка на менджера спадает... главное только объяснять каждому почему есть такое правило и что за ним стоит. не обоснованных правил девелопер исполнять не будет
Re[6]: Соглашения по оформлению кода команды RSDN
От: orangy Россия
Дата: 27.03.04 12:32
Оценка:
Здравствуйте, Andre, Вы писали:

O>>Ну давай мы проще поступим, я спрошу у MS

A>Да можно и не спрашивать, они уже ответили практически.
Да, точно, я это читал, но забыл. Спасибо
... << RSDN@Home 1.1.3 beta 2 >>
"Develop with pleasure!"
Re[6]: Соглашения по оформлению кода команды RSDN
От: orangy Россия
Дата: 27.03.04 12:32
Оценка: +1
Здравствуйте, alku, Вы писали:

А так?

procteted void TestMethod( string data, string format )
{
    /// check input parameters
    if (data == null 
        || data.Length == 0
        || data.Length == 1
        || data.Length == 2
        || data.Length == 3
        || data.Length == 4
       )
    {
       throw new ArgumentNullException( "data" );
    }
}


A>но очень возможно что в if будет и больше условий...

Добавил больше условий.

A>я не навязываю свое мнение, я просто прошу вас помочь оценить удобство разных стилей записи... читабельность не теряеться, но это уже возможно дело привычки...

Да и я не навязываю

A>а вот маленький пример где выделеные скобки все-таки полезны:

Переформатируй аналогично примеру выше, и не нужно будет лишних пробелов.
... << RSDN@Home 1.1.3 beta 2 >>
"Develop with pleasure!"
Re[6]: Соглашения по оформлению кода команды RSDN
От: orangy Россия
Дата: 27.03.04 12:34
Оценка: 66 (4) :))
Здравствуйте, Воронков Василий, Вы писали:

O>>Offtopic: Знаешь, почему ошибки в комменатриях у MS обозначаются BUGBUG: а не просто BUG?

ВВ>Почему?
Потому что поиск по слову BUG (и даже BUG:) срабатывает на DEBUG и на (DEBUG:).
... << RSDN@Home 1.1.3 beta 2 >>
"Develop with pleasure!"
Re[7]: Соглашения по оформлению кода команды RSDN
От: alku  
Дата: 27.03.04 12:43
Оценка:
Здравствуйте, orangy, Вы писали:

O>Здравствуйте, Воронков Василий, Вы писали:


O>>>Offtopic: Знаешь, почему ошибки в комменатриях у MS обозначаются BUGBUG: а не просто BUG?

ВВ>>Почему?
O>Потому что поиск по слову BUG (и даже BUG:) срабатывает на DEBUG и на (DEBUG:).
O>

я в свое время тулзу написал для поиска таких вещей — для вижуалки шестой...
здесь

заветься эта фича Code managment... спасибо макрософтам что в новой студии прикрутили.
Re[6]: Соглашения по оформлению кода команды RSDN
От: beretta Россия icq: 138726397
Дата: 27.03.04 13:35
Оценка: 4 (1) +2
Здравствуйте, alku, Вы писали:


A>
A>    internal bool CompareStyles( StyleImpl source, StyleImpl destination )
A>    {
A>      return ( ( source.FillBackground == destination.FillBackground ) && 
A>        ( source.FillForeground == destination.FillForeground ) &&
A>        ( source.FillPatern == destination.FillPatern ) &&
A>    }
A>


А я обычно && || и т.д. переношу на следующую строку. Поскольку сами выражения семантически в голове держатся, а вот условия которыми они объединены удобнее видеть перед глазами. И что важно если несколько && разделены || то можно выхватить отдельный сегмент условия.

Т.е. например:

   internal bool CompareStyles( StyleImpl source, StyleImpl destination )
    {
      return ( ( source.FillBackground == destination.FillBackground ) 
         && ( source.FillForeground == destination.FillForeground )
         && ( source.FillPatern == destination.FillPatern )
         && ( source.NumberFormat == destination.NumberFormat )
         || ( source.FormulaHidden == destination.FormulaHidden )
         && ( source.HorizontalAlignment == destination.HorizontalAlignment )
         && ( source.VerticalAlignment == destination.VerticalAlignment )
         && ( source.WrapText == destination.WrapText )
         || CompareFonts( source.Font, destination.Font )
         && ( source.IncludeAlignment == destination.IncludeAlignment )
         && ( source.IncludeBorder == destination.IncludeBorder )
         && ( source.IncludeFont == destination.IncludeFont )
         && ( source.IncludeNumber == destination.IncludeNumber )
         || ( source.IncludePatterns == destination.IncludePatterns )
         && ( source.IncludeProtection == destination.IncludeProtection )
         && ( source.IndentLevel == destination.IndentLevel )
         && CompareBorders( source.Borders, destination.Borders )
         || ( source.Locked == destination.Locked )
         && ( source.MergeCells == destination.MergeCells )
         && ( source.ShrinkToFit == destination.ShrinkToFit ) );
    }
Re[7]: Соглашения по оформлению кода команды RSDN
От: alku  
Дата: 27.03.04 13:42
Оценка: +2 -1
Здравствуйте, beretta, Вы писали:

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


B>
B>   internal bool CompareStyles( StyleImpl source, StyleImpl destination )
B>    {
B>      return ( ( source.FillBackground == destination.FillBackground ) 
B>         && ( source.FillForeground == destination.FillForeground )
B>         ... skipped ...
B>    }
B>


но например коментирование первой строки заставить править и вторую строку

   internal bool CompareStyles( StyleImpl source, StyleImpl destination )
    {
      return ( // ( source.FillBackground == destination.FillBackground ) 
         && ( source.FillForeground == destination.FillForeground )
         ... skipped ...
    }
Re[2]: Соглашения по оформлению кода команды RSDN
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.03.04 14:37
Оценка: +2 -2
Здравствуйте, alku, Вы писали:

A>ключевые слова не отделяються от скобок пробелами...


A>жду коментов...


Ну основная причина была сделать операторы непохожими на методы. Твой же вариант просто не очень хорошо смотрится из-за пробелов внутри скобок (не соответствует оформлению обычного текста и режет глаз).
... << RSDN@Home 1.1.3 beta 2 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[4]: Соглашения по оформлению кода команды RSDN
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.03.04 14:37
Оценка:
Здравствуйте, alku, Вы писали:

A>но не отделимая часть... ты при взгляде должен выхватывать не только ключевое слово, но и правильность конструкции языка.


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

A>тут хочу поспорить... зачем равнять искуственный язык програмирования с языком разговорным/письменным?! у них разные цели...


Затем что если можно обойтись одинаковыми правилами то лучше это сделать. Просто потому что так человеку проще.

A>для програмистского языка важные такие вещи, как:

A>- компактность записи

В данном случае одинаковая

A>- удобство навигации по коду


В данном случае оба варианта равноценны.

A>- читабельность


В данном случае вариант RSDN лучше.

A>для выделения ключевых слов в коде служит расскраска, а не пробелы!


Читабельность кода должна оставаться на уровне вне зависчимости от используемого редактора.
... << RSDN@Home 1.1.3 beta 2 (Win32NT 5.1.2600.0) >>
AVK Blog
Re[8]: Соглашения по оформлению кода команды RSDN
От: orangy Россия
Дата: 27.03.04 14:41
Оценка: +1
Здравствуйте, alku, Вы писали:

A>но например коментирование первой строки заставить править и вторую строку

Давайте быть критичными к себе В твоем случае такая же проблема с последней строкой.
... << RSDN@Home 1.1.3 beta 2 >>
"Develop with pleasure!"
Re[2]: Соглашения по оформлению кода команды RSDN
От: s.ts  
Дата: 27.03.04 15:09
Оценка:
Здравствуйте, alku, Вы писали:

A>объяснюсь почему меня эта тема очень волнует:

A>- щас на фирме я пытаюсь написать стандарт на оформление кода для c# проектов...
A>в основном это надо для студентов, но и "старым" программерам тоже иногда полезно...
A>а то очень часто возникает ситуация, что два програмера не могут сойтись во мнении сколько должна занимать табуляция, надо ли вообще использовать табуляции... как надо записывать операторы, декларации и т.д. и т.п.

использование табуляции как раз-таки и придумано для того, чтобы не спорили сколько пробелов делать для отступов
так что вопрос только использовать ее или нет (я за использование )

A>я пытаюсь написать документ который просто и банально решит такой вопрос — аля корпоративный стандард на оформление кода. в него кстатит должны войти правила по оформлению и безопасности кода... как только напишеться документ обязательно постараюсь поделиться с общественностью.


ждемс
Re[7]: Соглашения по оформлению кода команды RSDN
От: s.ts  
Дата: 27.03.04 15:17
Оценка:
Здравствуйте, orangy, Вы писали:

O>Здравствуйте, Воронков Василий, Вы писали:


O>>>Offtopic: Знаешь, почему ошибки в комменатриях у MS обозначаются BUGBUG: а не просто BUG?

ВВ>>Почему?
O>Потому что поиск по слову BUG (и даже BUG:) срабатывает на DEBUG и на (DEBUG:).
O>

дурь какая
а whole words почему не помогает ?
Re[8]: Соглашения по оформлению кода команды RSDN
От: orangy Россия
Дата: 27.03.04 16:00
Оценка:
Здравствуйте, s.ts, Вы писали:

O>>>>Offtopic: Знаешь, почему ошибки в комменатриях у MS обозначаются BUGBUG: а не просто BUG?

ВВ>>>Почему?
O>>Потому что поиск по слову BUG (и даже BUG:) срабатывает на DEBUG и на (DEBUG:).
O>>
ST>дурь какая
Конечно дурь Это шутка была. Но тем не менее:

BUGBUG comments -- comments containing the exact string "BUGBUG" that could be grepped for later in the source code – were placeholders left by developers to mark something to be revisited later. A BUGBUG comment might have mentioned a potential improvement in an algorithm, or it might have said, "need to check the return code here" or "should handle the message being too long."


Выяснить происхождение термина мне не удалось...
... << RSDN@Home 1.1.3 beta 2 >>
"Develop with pleasure!"
Re[2]: Соглашения по оформлению кода команды RSDN
От: Smarty Россия  
Дата: 27.03.04 21:20
Оценка:
A>пример хорошого для меня кода:
A>
A>if( const == something )
A>{
A>  for( int i=0; i < 10; i++ )
A>  {
A>    /// и т.д.
A>  }
A>}
A>


A>ключевые слова не отделяються от скобок пробелами...


A>жду коментов...



Много лучше, чем в статье. Но ведь сейчас начнется — а я так привык!!! И никуда — аргумент непрошибаем.
Re[7]: Соглашения по оформлению кода команды RSDN
От: Smarty Россия  
Дата: 27.03.04 21:31
Оценка:
O>Потому что поиск по слову BUG (и даже BUG:) срабатывает на DEBUG и на (DEBUG:).

Кстати — на взять на вооружение!
Re[4]: Соглашения по оформлению кода команды RSDN
От: akasoft Россия  
Дата: 28.03.04 15:58
Оценка:
Здравствуйте, alku, Вы писали:

O>>Аналогично в русском языке (это я привёл пример, как по-моему), пробел ставится перед скобкой, а не после( как в твоём примере ). Ну, и как удобнее читать?


A>тут хочу поспорить... зачем равнять искуственный язык програмирования с языком разговорным/письменным?! у них разные цели...


Это для нас, не англоязычных, он "искусственный", а для англоязычных он самый что-ни-на-есть естесственный. Они программы пишут, что говорят. И в этом я им завидую...
... << RSDN@Home 1.1.3 beta 2 >>
Re[5]: Соглашения по оформлению кода команды RSDN
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 29.03.04 03:54
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Это для нас, не англоязычных, он "искусственный", а для англоязычных он самый что-ни-на-есть естесственный. Они программы пишут, что говорят. И в этом я им завидую...


Ну так есть же русифицированные языки программирования.
Вселенная бесконечна как вширь, так и вглубь.
Re: Соглашения по оформлению кода команды RSDN
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 29.03.04 05:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Статья:


Почему?

Не используйте специальных префиксов, поясняющих, что это класс. Например, FileStream, а не CFileStream.

Вселенная бесконечна как вширь, так и вглубь.
Re[2]: Соглашения по оформлению кода команды RSDN
От: Аноним  
Дата: 29.03.04 06:06
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Здравствуйте, Аноним, Вы писали:


А>>Статья:


R3>Почему?

R3>

R3>Не используйте специальных префиксов, поясняющих, что это класс. Например, FileStream, а не CFileStream.


Возможно потому, что это версия для C#, а народ в C# приходит в том числе и из C++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.