powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Расстановка фигурных скобок.
9 сообщений из 34, страница 2 из 2
Расстановка фигурных скобок.
    #39029783
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппц. всех порвал.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029790
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще примеры к стилю оформления кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
// ---  Default constructor
//
CDiagReport::CDiagReport() {

 m_pIIStorage            = NULL;
 m_pIIStream             = NULL;
 m_pIIPropertySetStorage = NULL;
 m_pIIPropertyStorage    = NULL;
 m_pII1C                 = NULL;

}                                                          // IFACEMETHODIMP CDiagReport::CDiagReport(



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
// --------------------------------------------------------
// --- Save data stream to file
//
IFACEMETHODIMP  AIStream::SaveToFile(
 _In_  INT      IndexSourceStream,
 _In_  ULONG    cntBytes,
 _In_  ULONG    cntOffset,
 _In_  BSTR     NameFile,
 _Out_ VARIANT  *bResult
) {
/*

 IndexSourceStream      Index source item in m_vIStream

 cntBytes               The number of bytes of data of stream save in file /if == 0, то сохраняются все байты/

 cntOffset              Количество байт для смещения относительно начала файла 

 NameFile               Name file в который производится запись заданного числа байт, взятых из stream

 bResult                Флаг, содержащий результат выполнения функции:
                         ==  .T.  -  все Ok

 Return:

*/

 HRESULT  hr   = S_OK;
 BOOL     bRet = TRUE;

 VARIANT  ResValue;                                        // Result value field

 ResValue.vt     = VT_R8;
 ResValue.dblVal = 0;

 CString   csNameFile( NameFile );

 bRet = (BOOL) m_vIStream[ IndexSourceStream ]->SaveToFile(
  cntBytes,                                                // The number of bytes of data of stream save in file /if == 0, то сохраняются все байты/
  cntOffset,                                               //           
  csNameFile                                               // Name file
 );

 if  ( bRet == FALSE ) {
  *bResult = ResValue;
  hr       = S_FALSE;
 }

 ResValue.dblVal = 1;
 *bResult        = ResValue;

 return  hr;

}                                                          // IFACEMETHODIMP  AIStream::SaveToFile( ...
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39029903
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О "знаниях", "стандартах" ... и др. "учености" ...

При коллективизации /тридцатые года/ повсеместно из сел направляли на курсы трактористов молодых парней.
Курсы длились 2- месяца и на них затрагивались темы и устройства трактора и ...
И вот на экзаменах один молодой новоиспеченный тракторист говорит экзаменующему -
"Все понимаю. Вот только одного не понимаю. Куда же в нем кобылу впрягать?"
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061651
.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос то оказывается и правда холиварный Eckel B., Allison Ch. в "Thinking in C++" пишут,
что это один из ключевых вопросов, в стиле форматирования.
Они пишут, что надо размещать { на той же строке.

Потому что так сразу понятно, что это

Код: plaintext
1.
int foo();



объявление, а это

Код: plaintext
1.
int foo() { 



определение.

Ну и пишут, что такой стиль позволяет разместить больше строк на одной странице/слайде,
что особенно важно при проведении презентаций.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061691
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Dima TВ *.h все замечательно, ты свои *.cpp покажи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
// --- Если имя stream не задано
//
 if  ( SysStringLen( NameStream ) == 0 ) {

  m_CFile.Attach( NameFile );

  bRet = ( m_CFile.m_Ok == TRUE ? 1 : 0 );

  if  ( m_CFile.m_Ok == TRUE )  {

   hr              = S_OK;
   ResValue.dblVal = 1;
   *bResult        = ResValue;

  } else {
   hr              = S_FALSE;
   ResValue.dblVal = 0;
   *bResult        = ResValue;
  }

  return  hr;

 }                                                         // if  ( SysStringLen( NameStream ) == 0 ) {


Размещая скобку { *не* с новой строки, вы тоже хотите добиться экономии места на экране? Но посмотрите сколько у вас просто пустых строчек. Даже после return. Вот так занимает столько же строчек:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
if  ( SysStringLen( NameStream ) == 0 )
{
    m_CFile.Attach( NameFile );

    bRet = ( m_CFile.m_Ok == TRUE ? 1 : 0 );

    if  ( m_CFile.m_Ok == TRUE )
    {
        hr              = S_OK;
        ResValue.dblVal = 1;
        *bResult        = ResValue;
    }
    else
    {
        hr              = S_FALSE;
        ResValue.dblVal = 0;
        *bResult        = ResValue;
    }

    return  hr;
}



Но, ИМХО, второй вариант *гораздо* нагляднее — гораздо лучше видно где начинается блок кода, а где заканчивается (требуется движение глаз только в одном строго заданном направлении и совершенно однозначно). Странно даже спорить об этом.

ИМХО, уплотнение кода больше вредит. Если функция не влезает в экран (ну два экрана) — разбей её на две функции. Почти наверняка получится красивее с точки зрения структуры кода программы.

PS: Плюс отступы в четыре пробела улучшают читабельность, ИМХО.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061705
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу мало кто из мемберов будет определять стиль собственноручно.
Скорее всего вы унаследуете способ который приняли в вашей коменде.

Из практики.. современные IDE по дефолту форматируют сорцы в
варианте №1. С компактными строками.

P.S. Великий сатирик своего времени Джонатан Свифт тоже писал
о холиваре. Или о войне мелких коротышек которые не договорились
о том с какой стороны разбивать яйцо.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061856
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravPS: Плюс отступы в четыре пробела улучшают читабельность, ИМХО.Не буду возражать если кто нибудь код будете оформлять так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
if(SysStringLen(NameStream)==0){
 m_CFile.Attach(NameFile);
 bRet=(m_CFile.m_Ok==TRUE?1:0);
if(m_CFile.m_Ok==TRUE){
 hr=S_OK;
 ResValue.dblVal=1;
 *bResult=ResValue;
}else{
 hr=S_FALSE;
 ResValue.dblVal=0;
 *bResult=ResValue;}
return  hr;}



Большой плюс от этого - код представлен меньшим количеством строк ...

PS: А в целом:
"На вкус и цвет товарищей нет"
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061873
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NETВопрос то оказывается и правда холиварный Eckel B., Allison Ch. в "Thinking in C++" пишут...прочитайте уже Совершенный код от Макконнелла, и холивар закончится сразу.
...
Рейтинг: 0 / 0
Расстановка фигурных скобок.
    #39061903
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПо сабжу мало кто из мемберов будет определять стиль собственноручно.
Скорее всего вы унаследуете способ который приняли в вашей коменде.

Из практики.. современные IDE по дефолту форматируют сорцы в
варианте №1. С компактными строками.

P.S. Великий сатирик своего времени Джонатан Свифт тоже писал
о холиваре. Или о войне мелких коротышек которые не договорились
о том с какой стороны разбивать яйцо.
Раз с фигурными скобками разобрались, то пора поговорить про ограничение в 80-т символов на строку кода. (шутка!)
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Расстановка фигурных скобок.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]