[amirus-dev] C & C++

  • From: AmiS <amis@xxxxxxxxxxxx>
  • To: <amirus-dev@xxxxxxxxxxxxx>
  • Date: Fri, 11 Jul 2003 23:08:10 +0400

Hello,

Попытаюсь изложить основные концепции которые я хочу видеть в наших общих 
проектах
касательно оформлению текста. Возможно позже я возьму какой нибудь 
подготовленный текст на
эту тему и засадим его на сайт... а пока просто давайте сами решим что и как. 
Сразу скажу
что моя стиль родился после ГОДОВ метаний... и я буду за него драться до 
последнего... :)

Итак речь тдёт о форматировании текста.

Что я требую...
1. Должны быть отступы притом они должны быть по 1 табуляции!!! никаких 
пробелов..
так как ям не позволяет делать табуляции то считайте что во всех примерах 
размер 1 табуляции
равен 2 пробелам! (кстати реально у меня дома в редакторе при редактировании 
С/C++ у меня
размер табуляции равен 2) Но ВЫКЛЮЧИТЕ опции замены табуляции пробелами!!!!! не 
потерплю
пробелов!!!! искореняйте!!!! ;)))
итак пример:

int main()
{
  int a;
  for(a=0; a<100; a++)
  {
    sleep(1);
  }
}

Использование скобок {} в циклах    while(),  do while(),  for()  
обязательна!!!!!!!!

Опускать скобки в условиях if() допускается ТОЛЬКО если нет вложенности и 
только если
команда пишется в одной строке... и не длинная.... Пример:

if(x<0) x=0;
else x=x*2;

Во всех других случаях всегда пишем скобки... ПРИЧЁМ по правилам оговорённы 
ранее...
Никаких!!!!!
if(x=0){
  sleep(1);}

Так далеть низя!!!!! 
В редких случаях допускается применение скобок в одной строке... но такие 
случаи у нас
пока не встречались слава богу... они чаще в C++...

Конструкция switch() должна выглядеть так:

switch(x)
{
  case 1:
  {
    sleep(1);
  }
  break;
  case 2:
  {
    sleep(2);
  }
  break;
}


Использование ; должно соответсвовать стандарту ANSI C!!!!!
Vovka: это означает что их не нужно писать после закрывающейся } как ты это 
любишь!!!
НО нужно обязательнописать после операторов!!! чего ты иногда не делаешь!!!
некоторые компиляторы позволяют опускать ; в последнем операторе блока.... Но 
мы так
делать не будем!

далее...

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

Вовка то что мне у тебя не нравится ты не делаешь пробелы там где "=".
 
x = (STRPTR)AllocVec(..);

int Function(int x, char *z);

но равно в for без пробелов...
for(x=0; x<d; x++)
{
  if(f>3) Function(g, param);
}

Указатели конечно без пробелов
x->mem = 65;

Кстати обратите внимение на пробел перед функцией...
идея понятна?  вообщем правило простое... все аргументы мы разделяем пробелом...
но не разделяем в операция сравнения или бинарных
но в логических снова разделяем... вот смотрри:

AllocVec(length, MEMF_PUPLIC|MEMF_CLEAR);

if(x==0 && y<3) sleep(1);

далее:
Использование goto исключаем! Если возникнет необходимость будем обсуждать 
каждый
случай!!!! хотя за весь мой опыт не нашёл применения.

Оператор return прошу писать без скобок:

int main(void)
{
  return 0;
}

Такс это пока самое основное...  сразу скажу что буду драться за этот стиль... 
это многие
годы работы я до этого сам доходил....  Опыт на работе показывает что такой код 
наиболее
читабелен всеми... и не запутан а если будем каждый писать так как хотим то это 
не дело...


Этот документ в дальнейшем будем развивать и в итоге сделаем стандартом... Если 
у кого-то
есть возражения гтов поспорить но я кусачий ;)

Kind regards


Other related posts: