Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
Результаты опроса: Нравится ли Гото, используете ли вы его
Да 21 37.50%
Нет 35 62.50%
Голосовавшие: 56. Вы ещё не голосовали в этом опросе

 
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.81
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
#1

Хороший или плохой тон программирования - C++

28.03.2010, 13:42. Просмотров 5553. Ответов 49
Метки нет (Все метки)

вот в книгах читаю что гото туфта полная..на форуме тоже так говорят,а почему?очень нужная вещь,иногда лучше использовать это чем циклы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2010, 13:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хороший или плохой тон программирования (C++):

"Ляпы" в программе. Хороший стиль программирования - C++
Здравствуйте, уважаемые форумчане! Я на счет хорошего стиля программирования. Сделал маленькую программу. Эксперты ее осмотрели и...

TCHAR + float != дружба или плохой wsprintf - Visual C++
вот столкнулся с проблемой перевода float числа в строчку и наоборот: TCHAR milage; wsprintf(milage,"%f\0",Machines.Mileage);//3й...

Плохой проект - Visual C++
Нужна небольшая помошь, в общем вот проект, созданный в Вижуал Студио 2008, язык вроди бы С++. Цель проекта на сколько я понял...

Объединять классы и внешние функции в одной программе плохой тон программирования? - C++
Доброго времени суток! Преподаватель в институте задал определённую задачу, однако не определил разрешённые возможности. Сказал только -...

Хороший тон программирования - C++
Можно ли считать хорошим тоном в программировании? Например вот такой вот код? #define FOR for(int a=0;a<10;a++) ........ FOR ...

Хороший тон для #include - C++
Простите за глупый вопрос, но всё же интересно знать ответ :) Есть 2 заголовочных файла. 1.h #include <vector> ... // и т.д. ...

49
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
28.03.2010, 14:06 #2
Подходи к чтению книг и форуму без фанатизма.....
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
28.03.2010, 14:25  [ТС] #3
хорошо
0
M128K145
Эксперт С++
8299 / 3519 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
28.03.2010, 14:30 #4
МедведЪ, но также подходи без фанатизма к использованию goto. Это не плохо, но всему есть свое назначение, поэтому не стоит его во всех случаях без разбора применять
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
28.03.2010, 15:43 #5
МедведЪ:
goto можно использовать для выхода из сильно вложенных циклов: вниз по тексту: если необходимо.
Не один оператор кроме goto не позволит выйти из всех объемлющих циклов: вниз по тексту.
0
Evg
Эксперт CАвтор FAQ
18374 / 6421 / 441
Регистрация: 30.03.2009
Сообщений: 17,812
Записей в блоге: 28
28.03.2010, 16:10 #6
Если goto упрощает структуру программы и делает её более понятной для чтения - то его нужно использовать, потому как написание кода "принципиально" без goto зачастую делает его (код) непонимаемым
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.03.2010, 16:26 #7
вот хороший пример с http://govnokod.ru/, откуда конкретно не знаю, потерял ссылку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int p,k,l,i,j,d,q,R,t,r;
  S1:    s=0; p=1;
  S2:    if (s==0) { i=1; j=n; k=n; l=2*n+1; }
         if (s==1) { i=n+1; j=2*n; k=0; l=n+1; }
         d=1; q=p; r=p;
  S3:    if (x[i]>K>x[j]->K) goto S8;
  S4:    k=k+d; x[k]=x[i]; c[k]=c[i];
  S5:    i+=1; q-=1; if (q>0) goto S3;
  S6:    k+=d; if (k==l) goto S13; else x[k]=x[j];c[k]=c[j];
  S7:    j-=1; r-=1; if (r>0) goto S6; else goto S12;
  S8:    k+=d; x[k]=x[j]; c[k]=c[j];
  S9:    j-=1; r-=1; if (r>0) goto S3;
  S10:   k+=d; if (k==l) goto S13; else x[k]=x[i];c[k]=c[i];
  S11:   i+=1; q-=1; if (q>0) goto S10;
  S12:   q=p; r=p; d=-d; t=k; k=l; l=t; if (j-i<p) goto S10; else goto S3;
  S13:   p+=p; if (p<n) { s=1-s; goto S2; }
         if (s==0) for (t=1; t<=n; t+=1) { x[t]=x[t+n];c[t]=c[t+n] }
 
//Вот такой вариант сортировки предложен в одной известной книге. Оно работает...
и только не спрашивайте меня что это за книжка. Там в коментах так и не добились этого ответа, но все равно очевидно, что тут все слишком запутано.
0
Evg
Эксперт CАвтор FAQ
18374 / 6421 / 441
Регистрация: 30.03.2009
Сообщений: 17,812
Записей в блоге: 28
28.03.2010, 16:44 #8
Цитата Сообщение от Aye Aye Посмотреть сообщение
но все равно очевидно, что тут все слишком запутано.
Смахивает на результат конвертации из ассемблера в Си
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.03.2010, 17:53 #9
Evg, возмоэно так и есть! Там на гвнокоде.ру кто то говорил про конвертацию с Фортрана... ))) вобщем точно что то переведено на Си. И кстати не пойму, как проверить корректность этого кода... наверно некоторые обьявления не указаны может и автор поста опечатался когда набивал код с учебника (например переменная R нигде не используется)... ну вобщем не важно ))))
0
Evg
Эксперт CАвтор FAQ
18374 / 6421 / 441
Регистрация: 30.03.2009
Сообщений: 17,812
Записей в блоге: 28
28.03.2010, 18:26 #10
Цитата Сообщение от Aye Aye Посмотреть сообщение
Там на гвнокоде.ру кто то говорил про конвертацию с Фортрана
Запросто. Многие компиляторы с языков, отличного от Си, работают через конвертацию из языка в Си (либо на уровне текстового фала, либо на уровне промежуточного представления). Си++, Паскаль, Фортран - всё это легко конвертируется в Си. В результате и получается такой код, истыканный конструкциями goto. Если посмотреть результат работы утилит типа lex, yacc, bison - на выходе они тоже генерят код Си, в котором тьма-тьмущая операторов goto
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
28.03.2010, 20:57  [ТС] #11
вот прочитал выше на счет циклов
Aye Aye, это и вправду гавно код...я не говорил что в таких случаях надо использовать его..я использую гото в очень очень очень маленьких циклах....и редко НО использую...
0
Day
1159 / 964 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
29.03.2010, 09:41 #12
Тут два вопроса.
Нравится - Нет, не нравится.
Использую ли - Да. использую
Если структура пограммы становится понятнее с ГОТО, то почему бы и нет.
И как выход из сильно вложенных циклов, и как переход в начало обработки, и как переход на завешающие действия.
Программа ведь сначала в голове создается. Что-то типа блок-схемы. И если в голове она придумалась с goto, то так ее и записываем. Часто уже написав программу видишь лучше ее логику и от goto избавляешься.
А по-поводу фанатизма - все верно.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
29.03.2010, 11:21  [ТС] #13
да кто фанатеет от готоне я точно...я думаю если используешь уже нравится
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
29.03.2010, 11:23 #14
Мало опций. На бейсике я не могу без goto, на сях и паскале - с ним. Ну и как я должен ответить?
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
29.03.2010, 12:54  [ТС] #15
taras atavin, тема создана в разделе С++,не в разделах бейсик и паскаль,а как овтетть сам решай
0
29.03.2010, 12:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2010, 12:54
Привет! Вот еще темы с ответами:

Хороший стиль программирования: где размещать константы? - C++
Здравствуйте, уважаемые форумчане! Давно хотел спросить. У меня есть проект, состоящий из множества файлов исходного кода. В...

Хороший тон программирования. Не догма - но полезно. - C#
У каждого опытного разработчика , наверняка, с опытом формируются негласные правила .. которые сформированы в результате реализации многих...

Дурной тон программирования - Программирование
Часто слыщу такую фразу, вот и интересно, кто что по этому поводу думает. Что можно отнести к такого роду программированию? И вообще можно...

Вложенные классы - это хороший стиль программирования, или лучше по-отдельности? - Java
Hi, All! Вложенные классы - это хороший стиль программирования, или лучше, чтобы каждый класс был отдельно ? Или это зависит от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.