У кого какой стандарт кодирования на предприятие?
От: The_Thing Россия
Дата: 06.05.09 06:14
Оценка:
имхо...?
Хотелось бы до обеда по мск получить ответ так как собираются выслушать наши пожелания. А так как, чел который нас собирает не особо валакёт в этом деле(у нас всё так в России), не хотелось бы потом позориться за свой код прийдя в другую контору!

пишите, что от вас требуют, и какие недоработки вы видите в требованиях от вас.
спасибо.
Re: У кого какой стандарт кодирования на предприятие?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 06.05.09 06:20
Оценка: 6 (2) +2
Здравствуйте, The_Thing, Вы писали:

T_T>имхо...?

T_T>Хотелось бы до обеда по мск получить ответ так как собираются выслушать наши пожелания. А так как, чел который нас собирает не особо валакёт в этом деле(у нас всё так в России), не хотелось бы потом позориться за свой код прийдя в другую контору!

T_T>пишите, что от вас требуют, и какие недоработки вы видите в требованиях от вас.

T_T>спасибо.

Это зависит от языка.

Когда передо мной встал вопрос стандартов кодирования в команде я поставил fxcop и stylecop в стандартной конфигурации.
Re: У кого какой стандарт кодирования на предприятие?
От: yumi  
Дата: 06.05.09 06:49
Оценка:
Здравствуйте, The_Thing, Вы писали:

T_T>пишите, что от вас требуют, и какие недоработки вы видите в требованиях от вас.

T_T>спасибо.

Если это С++, то у нас было основано на C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth Series) by Herb Sutter & Andrei Alexandrescu. То есть как база, бралось это, плюс наши свои дополнения.
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re: У кого какой стандарт кодирования на предприятие?
От: Donz Россия http://donz-ru.livejournal.com
Дата: 06.05.09 08:32
Оценка:
Здравствуйте, The_Thing, Вы писали:

T_T>имхо...?

T_T>Хотелось бы до обеда по мск получить ответ так как собираются выслушать наши пожелания. А так как, чел который нас собирает не особо валакёт в этом деле(у нас всё так в России), не хотелось бы потом позориться за свой код прийдя в другую контору!

T_T>пишите, что от вас требуют, и какие недоработки вы видите в требованиях от вас.

T_T>спасибо.

Для Java приняли Sun'овскую рекомендацию, с некоторыми оговорками:
1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).
2)Длина строки 120-140 символов. 80 символов на строку — это законченный архаизм
3)Используем табы, один таб — два пробела, а не восемь.

Крайней рекомендую сразу же поставить какую-нибудь приблуду, которая мониторит VCS на предмет изменений, а измененный код мониторит на соответствие соглашению по оформлению кода. Иначе получается зоопарк.
Re: У кого какой стандарт кодирования на предприятие?
От: Muxa  
Дата: 06.05.09 08:42
Оценка:
решарпер (за исключением Naming Сonvention ивентов)
Re: У кого какой стандарт кодирования на предприятие?
От: The_Thing Россия
Дата: 06.05.09 09:40
Оценка:
Спасибо, всем за ответ! Если будут еще какие ответы, заранее благодарен.

Сам решил пока почитать книженцию 101 совет и посмотреть на утилитки.
Re: У кого какой стандарт кодирования на предприятие?
От: abibok  
Дата: 06.05.09 17:11
Оценка:
StyleCop + FxCop, которые ломают билд при любой ошибке. Правила без энфорсмента не имеют смысла.
Re[2]: У кого какой стандарт кодирования на предприятие?
От: Sinix  
Дата: 07.05.09 01:46
Оценка:
Здравствуйте, abibok, Вы писали:

A>StyleCop + FxCop, которые ломают билд при любой ошибке. Правила без энфорсмента не имеют смысла.


Поддерживаю.

Кстати, если кому надо — настройки для студии 2008sp1 и styleCop 4.3. Т.к. стоит куча аддинов, экспортировал только настройки текстового редактора + подсветку. Как оно выглядит — на скриншотах в архиве. Settings.StyleCop кинуть в корень папок с исходниками (например в Documents\Visual Studio 2008). Правится через контекстное меню проекта (в солюшн эксплорере)-> StyleCop settings -> вкладка "Settings Files" -> Merge with parent|Edit

На ваш страх и риск естественно
Re: У кого какой стандарт кодирования на предприятие?
От: fmiracle  
Дата: 07.05.09 07:59
Оценка: 1 (1)
Здравствуйте, The_Thing, Вы писали:

T_T>спасибо.


Мы взяли RSDN-овский текст, по мелочи изменив некоторые пункты, и выложили на внутреннем сайте

Туда же создали соответственно настроенные схемы для студии и решарпера.
Re[2]: У кого какой стандарт кодирования на предприятие?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.05.09 20:12
Оценка:
Здравствуйте, Muxa, Вы писали:

M>решарпер (за исключением Naming Сonvention ивентов)


Кхм. Разве в решарпере есть какой то определенный рекомендованный стиль кодирования? Или речь о дефолтных настройках?
... << RSDN@Home 1.2.0 alpha 4 rev. 1212 on Windows Vista 6.1.7100.0>>
AVK Blog
Re[3]: У кого какой стандарт кодирования на предприятие?
От: Muxa  
Дата: 08.05.09 21:18
Оценка:
именно о них.
единственное что меняем это прификс филда ("_") и название переменной исключения ("ex").
Re[2]: У кого какой стандарт кодирования на предприятие?
От: _FRED_ Черногория
Дата: 10.05.09 14:14
Оценка:
Здравствуйте, Donz, Вы писали:

D>1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).


Как я посмотрю, это достаточно распространённый стиль. А почему?
Help will always be given at Hogwarts to those who ask for it.
Re[3]: У кого какой стандарт кодирования на предприятие?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.05.09 22:20
Оценка: 11 (1) +7
Здравствуйте, _FRED_, Вы писали:

_FR>Как я посмотрю, это достаточно распространённый стиль. А почему?


Проще код читать, ИМХО
... << RSDN@Home 1.2.0 alpha 4 rev. 1212 on Windows Vista 6.1.7100.0>>
AVK Blog
Re[3]: У кого какой стандарт кодирования на предприятие?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.05.09 04:55
Оценка: +3
Здравствуйте, _FRED_, Вы писали:

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


D>>1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).


_FR>Как я посмотрю, это достаточно распространённый стиль. А почему?


Это еще МакКоннелл объяснял. Когда скобки на одном уровне проще визуально проверить их парность.
Re[4]: У кого какой стандарт кодирования на предприятие?
От: _FRED_ Черногория
Дата: 11.05.09 05:58
Оценка:
Здравствуйте, gandjustas, Вы писали:

D>>>1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).


_FR>>Как я посмотрю, это достаточно распространённый стиль. А почему?


G>Это еще МакКоннелл объяснял.


МакКонелл как раз объяснял про открывающую кавыку на одной строке с ключевым словом.

G>Когда скобки на одном уровне проще визуально проверить их парность.


Вот в это не могу поверить. К тому же, мне непарность скобок показывает ИДЕ.
Help will always be given at Hogwarts to those who ask for it.
Re[5]: У кого какой стандарт кодирования на предприятие?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.05.09 06:22
Оценка: 1 (1) +1
Здравствуйте, _FRED_, Вы писали:

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


D>>>>1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).


_FR>>>Как я посмотрю, это достаточно распространённый стиль. А почему?

G>>Это еще МакКоннелл объяснял.
_FR>МакКонелл как раз объяснял про открывающую кавыку на одной строке с ключевым словом.
А какая разница?


G>>Когда скобки на одном уровне проще визуально проверить их парность.

_FR>Вот в это не могу поверить. К тому же, мне непарность скобок показывает ИДЕ.
Это она показыват гораздо позже и зачастю гораздо менее понятно.

Пример

if(someExpression) {
  someCode();
  for(var i=0; i<N; i++) {
    if(someExpression2) {
      someCodefsdfs();
      someCodefdsfdfds();
    } else {
      someCodefsdsd();
    }
    someCodegfgxgvcx();
  }
} else {
  someCodevxcvxcv();
}
Re[6]: У кого какой стандарт кодирования на предприятие?
От: _FRED_ Черногория
Дата: 11.05.09 11:39
Оценка:
Здравствуйте, gandjustas, Вы писали:

D>>>>>1)открывающая фигурная скобка всегда на новой строке (платят НЕ за строки, если что ).

_FR>>>>Как я посмотрю, это достаточно распространённый стиль. А почему?
G>>>Это еще МакКоннелл объяснял.
_FR>>МакКонелл как раз объяснял про открывающую кавыку на одной строке с ключевым словом.
G>А какая разница?

Такая, что он _объяснял_, _почему_ другой способ является более предподчтительным.

G>>>Когда скобки на одном уровне проще визуально проверить их парность.

_FR>>Вот в это не могу поверить. К тому же, мне непарность скобок показывает ИДЕ.
G>Это она показыват гораздо позже и зачастю гораздо менее понятно.

G>Пример

G>if(someExpression) {
G>  someCode();
G>  for(var i=0; i<N; i++) {
G>    if(someExpression2) {
G>      someCodefsdfs();
G>      someCodefdsfdfds();
G>    } else {
G>      someCodefsdsd();
G>    }
G>    someCodegfgxgvcx();
G>  }
G>} else {
G>  someCodevxcvxcv();
G>}


И в что конкретно здесь смущает?

А здесь:
G>if(someExpression) {
G>  someCode();
G>  for(var i=0; i<N; i++) {
G>    if(someExpression2) {
G>      someCodefsdfs();
G>      someCodefdsfdfds();
G>    } else {
G>      someCodefsdsd();
G>    }//if
G>    someCodegfgxgvcx();
G>  }//for
G>} else {
G>  someCodevxcvxcv();
G>}//if

?
Help will always be given at Hogwarts to those who ask for it.
Re[7]: У кого какой стандарт кодирования на предприятие?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.05.09 12:33
Оценка: 1 (1) +2
Здравствуйте, _FRED_, Вы писали:

_FR>И в что конкретно здесь смущает?


_FR>А здесь:

_FR>
G>>if(someExpression) {
G>>  someCode();
G>>  for(var i=0; i<N; i++) {
G>>    if(someExpression2) {
G>>      someCodefsdfs();
G>>      someCodefdsfdfds();
G>>    } else {
G>>      someCodefsdsd();
G>>    }//if
G>>    someCodegfgxgvcx();
G>>  }//for
G>>} else {
G>>  someCodevxcvxcv();
G>>}//if
_FR>

_FR>?

Если честно — не видно нифига. Допускаю, что это вопрос привычки. Но без привычки таки не видно. И этот пример с комментариями не лучше, чем тот что без.


if(someExpression) 
{
  someCode();

  for(var i=0; i<N; i++) 
  {
    if(someExpression2) 
    {
      someCodefsdfs();
      someCodefdsfdfds();
    }
    else
    {
      someCodefsdsd();
    }

    someCodegfgxgvcx();
  }
} 
else 
{
  someCodevxcvxcv();
}

Так виднее.
Re[8]: У кого какой стандарт кодирования на предприятие?
От: _FRED_ Черногория
Дата: 11.05.09 12:46
Оценка:
Здравствуйте, samius, Вы писали:

Если нет желания флеймить, просто пошли меня нафик и я пойму: темка-то та ещё :о))

S>Если честно — не видно нифига.


Но всё же: а если данный код написан на паскале или бэйсике, то как он должен выглядеть, что бы "было видно"?

Ы?
(* сорри, не помню уже как закрываются блоки и как писать коментарий до конца строки *)
if(someExpression) begin
  someCode();
  for(var i=0; i<N; i++) begin
    if(someExpression2) begin
      someCodefsdfs();
      someCodefdsfdfds();
    end else begin
      someCodefsdsd();
    end; (* if *)
    someCodegfgxgvcx();
  end; (* for *)
end else begin
  someCodevxcvxcv();
end; (* if *)

или

S>Так виднее.

if(someExpression)
begin
  someCode();
  for(var i=0; i<N; i++)
  begin
    if(someExpression2)
    begin
      someCodefsdfs();
      someCodefdsfdfds();
    end
    else
    begin
      someCodefsdsd();
    end;
    someCodegfgxgvcx();
  end;
end
else
begin
  someCodevxcvxcv();
end;


? Оверхеда синтаксического не видно?

Или, например, в T-SQL как надо писать (где тоже BEGIN-END язык)?
Help will always be given at Hogwarts to those who ask for it.
Re[9]: У кого какой стандарт кодирования на предприятие?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 11.05.09 13:01
Оценка: +1
Здравствуйте, _FRED_, Вы писали:

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


_FR>Если нет желания флеймить, просто пошли меня нафик и я пойму: темка-то та ещё :о))


Нет, желания нет, но и посылать не стану

_FR>Но всё же: а если данный код написан на паскале или бэйсике, то как он должен выглядеть, что бы "было видно"?


_FR>Ы?

_FR>
_FR>(* сорри, не помню уже как закрываются блоки и как писать коментарий до конца строки *)
_FR>if(someExpression) begin
_FR>  someCode();
_FR>  for(var i=0; i<N; i++) begin
_FR>    if(someExpression2) begin
_FR>      someCodefsdfs();
_FR>      someCodefdsfdfds();
_FR>    end else begin
_FR>      someCodefsdsd();
_FR>    end; (* if *)
_FR>    someCodegfgxgvcx();
_FR>  end; (* for *)
_FR>end else begin
_FR>  someCodevxcvxcv();
_FR>end; (* if *)
_FR>

_FR>или

S>>Так виднее.

_FR>
_FR>if(someExpression)
_FR>begin
_FR>  someCode();
_FR>  for(var i=0; i<N; i++)
_FR>  begin
_FR>    if(someExpression2)
_FR>    begin
_FR>      someCodefsdfs();
_FR>      someCodefdsfdfds();
_FR>    end
_FR>    else
_FR>    begin
_FR>      someCodefsdsd();
_FR>    end;
_FR>    someCodegfgxgvcx();
_FR>  end;
_FR>end
_FR>else
_FR>begin
_FR>  someCodevxcvxcv();
_FR>end;
_FR>


_FR>? Оверхеда синтаксического не видно?

Нет. И кода тоже не видно. Лет 10 назад — прочитал бы второй вариант легко.

Но с паскалем — тут другая клиника. Впринципе "begin" и "end" сами по себе разной длины и друг под другом не так замечательно смотрятся, как фигурные скобки. Потому я в паскалевскую пору предпочитал что-то среднее между первым и вторым вариантом.

_FR>Или, например, в T-SQL как надо писать (где тоже BEGIN-END язык)?


Мы не договоримся. Речь идет о субъективном качестве восприятия, которое еще и зависит от принятых в команде стандартов.
Вот до последней команды, в которой я работал, привык писать так:

if(someExpression2)
    someCodefsdsd();

В последней команде стандарт такой:
if(someExpression2)
{
    someCodefsdsd();
}

Я дико возмущался такому стандарту. Но спустя 3 года привых и не нахожу здесь ничего лишнего. Даже пишу так для себя. Если поработаю 3 года в команде, где будет так
if(someExpression2) {
    someCodefsdsd();
}

То и к этому привыкну. Но не сразу. Думаю, что месяцев 3-6 уйдет.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.