Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2009, 14:16   #31
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Ага. Есть такое в плюсах, когда думаешь: "Фух.. вроде бы язык выучил, надо какие-нибудь библиотеки поизучать". Только это всё обманчиво. В языке столько граблей и "неожиданностей", что его наверно нужно всю жизнь изучать, чтобы все нюансы знать.
Да и сомневаюсь я, что ООП изучен уже вдоль и поперек. Тоже про классы почитал, пару проектов написал и думаю: "Всё. Знаю ООП". Фигушки. Проектировать классы сложнее, чем их использовать, а это уже только с опытом приходит. У меня нет ни одного проекта, который мне бы через какие-нибудь полгода не захотелось перепроектировать, т.к. изменилось видение ООП.
Ну и шаблоны в плюсах тоже очень нетривиальная штука, а область применения очень широкая. Контейнеры из STL - это самое банальное, что можно сделать на сишных шаблонах. Так что, думаю, рано отчаиваться, что расти некуда. И никакие сторонние библиотеки необязатель кидаться изучать, чтобы расти дальше, как специалисту
Согласен с Вами, спасибо!
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 01.09.2009, 16:47   #32
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А ты приведи кусок своего кода - строк двести, а мы как строгая комиссия уже скажем куда тебе пойти . Я серьезно, по стилю можно многое сказать об твоем компутерном образовании.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 01.09.2009 в 16:55.
Utkin вне форума Ответить с цитированием
Старый 01.09.2009, 17:57   #33
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
по стилю можно многое сказать об твоем компутерном образовании.
...меня сразу можно отправлять в психушку...
Levsha100 вне форума Ответить с цитированием
Старый 01.09.2009, 18:13   #34
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
...меня сразу можно отправлять в психушку...
Хочешь сказать, что у тебя там так:???
Код:
Function Stepen(X,Y:Integer):Integer; {Функция возведения в степень}
 Var {Переменки}
  I,J:Integer {Переменка I}
 Begin {Начало однако}
  J:=X; {Типа Жо равно Хэ}
  For I:=1 to Y do {Цикл(оп)}
    X:=X*J; {C математической точки зрения это полный бред}
  Result:=X; {Даем значение результирующей переменке}
 End; {Это есьмь конец}
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 01.09.2009, 19:05   #35
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

У меня там сплошная обфускация, чтобы ФСБ не использовала мои коварные программы
Levsha100 вне форума Ответить с цитированием
Старый 01.09.2009, 19:09   #36
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А ты приведи кусок своего кода - строк двести, а мы как строгая комиссия уже скажем куда тебе пойти . Я серьезно, по стилю можно многое сказать об твоем компутерном образовании.
вроде сделал вложение
Вложения
Тип файла: txt текст.txt (8.0 Кб, 100 просмотров)
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 01.09.2009, 19:14   #37
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Код:
if(Kurs_Max>Kurs_Min)  О_О
	{
		if(LGL_DEG(90.)>Kurs_Min && LGL_DEG(90.)<Kurs_Max)
		{
			if(Kurs_Tek<LGL_DEG(98.) && Kurs_Tek>LGL_DEG(86.))
			{
			} Это типа "затычка"? тогда почему нету комента? 
			else
			{
		cdraw->PushState();
		cdraw->Translate(0,Sasha_Gradus*3);
		cdraw->Rotate(Kurs_Tek);
		cdraw->Rotate(LGL_DEG(270.));
		
		cdraw->TextHor(0,Sasha_Gradus*2.8,"E");
		cdraw->Translate(0,-Sasha_Gradus*3);
		cdraw->PopState();
			}

Последний раз редактировалось Levsha100; 01.09.2009 в 19:17.
Levsha100 вне форума Ответить с цитированием
Старый 01.09.2009, 19:50   #38
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от Levsha100 Посмотреть сообщение
Код:
if(Kurs_Max>Kurs_Min)  О_О
	{
		if(LGL_DEG(90.)>Kurs_Min && LGL_DEG(90.)<Kurs_Max)
		{
			if(Kurs_Tek<LGL_DEG(98.) && Kurs_Tek>LGL_DEG(86.))
			{
			} Это типа "затычка"? тогда почему нету комента? 
			else
			{
		cdraw->PushState();
		cdraw->Translate(0,Sasha_Gradus*3);
		cdraw->Rotate(Kurs_Tek);
		cdraw->Rotate(LGL_DEG(270.));
		
		cdraw->TextHor(0,Sasha_Gradus*2.8,"E");
		cdraw->Translate(0,-Sasha_Gradus*3);
		cdraw->PopState();
			}
Когда то там был код, можно переписать его, но я надеюсь что сопровождать его никому кроме меня не понадобится, поэтому так и оставил. А общее впечатление?
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 01.09.2009, 19:53   #39
jojahti
Подтвердите свой е-майл
 
Регистрация: 27.07.2009
Сообщений: 437
По умолчанию

pu4koff
Цитата:
Сначала язык, а потом уже библиотеки какие-то.
А если, к примеру, порисовать захочется? ) Тоже в консоли?
jojahti вне форума Ответить с цитированием
Старый 01.09.2009, 20:58   #40
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,099
По умолчанию

Цитата:
Сообщение от iukash Посмотреть сообщение
вроде сделал вложение
1. Отступы "пляшут". Строки одного блока всёже лучше выравнивать одинаково, а не как хочется. Неудобно такое читать:
Код:
...
cdraw->PushState();
	cdraw->Translate(0.f,-Sasha_Gradus*6.6);
...
2. Длинное тело блока case. Врядли я легко найду case 2 во всем этот безобразии.

3. "Магические" числа всюду.
Код:
	cdraw->Line(0,Sasha_Gradus*6.5,0,Sasha_Gradus*6.9);
	cdraw->Line(0,Sasha_Gradus*7.1,0,Sasha_Gradus*7.5);
	cdraw->Line(Sasha_Gradus*0.1,Sasha_Gradus*7,Sasha_Gradus*0.5,Sasha_Gradus*7);
	cdraw->Line(-Sasha_Gradus*0.1,Sasha_Gradus*7,-Sasha_Gradus*0.5,Sasha_Gradus*7);
Что это за числа такие? Может стоит их вынести в константы? Я так понимаю тут 3 основных числа: 7, 0.1 и 0.5. Тогда 6.5 нужно записывать как 7 - 0.5 (если конечно это так на самом деле). Ну естественно вместо циферок будут имена соответствующих констант с именами, отражающими их сущность.
До маразма доходить тут тоже не надо. Например, 360 градусов и ежу понятно откуда взялось и что обозначает и потому можно просто 360 написать, без выноса в константы

4. Как говорится, найдите 5 отличий:
Код:
	if(Kurs_Max>Kurs_Min)
	{
		if(0>Kurs_Min && 0<Kurs_Max)
		{
			if(Kurs_Tek>LGL_DEG(8.) && Kurs_Tek<LGL_DEG(356.))
			{
		cdraw->PushState();
		cdraw->Translate(0,Sasha_Gradus*3);
		cdraw->Rotate(Kurs_Tek);
		cdraw->TextHor(0,Sasha_Gradus*2.8,"N");
		cdraw->Translate(0,-Sasha_Gradus*3);
		cdraw->PopState();
			}
		}
	}
	if(Kurs_Max<Kurs_Min) 
	{
		if(0>=Kurs_Min || 0<=Kurs_Max)
		{
			if(Kurs_Tek>LGL_DEG(8.) && Kurs_Tek<LGL_DEG(356.))
		{
		cdraw->PushState();
		cdraw->Translate(0,Sasha_Gradus*3);
		cdraw->Rotate(Kurs_Tek);
		cdraw->TextHor(0,Sasha_Gradus*2.8,"N");
		cdraw->Translate(0,-Sasha_Gradus*3);
		cdraw->PopState();
		}
		}
	}
1) много повторяющегося кода, от чего обязательно нужно избавляться.
2) уместнее, вероятно, будет: else if(Kurs_Max<Kurs_Min)
Ниже еще несколько штук подобных блоков, из-за чего данный кусок кода получился большим.

5. Называть переменные, классы, функции,.. нужно на англицком языке. Никаких транслитов. В словаре смотрите как переводится шкала, крен,... и переименовывайте все эти кошмарные Kren, Shkala,... И словарный запас англицкого языка больше станет и код красивее будет.

Ну это я навскидку привел примеры того, что мне не понравилось в данном коде.

jojahti, а для рисования Paint существует А если серьезно, то тут по собственному усмотрению. Я же не предлагаю бить учеников по рукам с криком: "не трожь гуёвую (от аббревиатуры GUI) библиотеку! пиши в консоли!". Просто с большой вероятностью, это стремление к прекрасному станет важнее изучения языка. На почве неуверенного знания языка и незнания библиотеки, может вырасти гора непонятных конструкций. Опять же в данном случае перед тобой встала конкретная задача: "нарисовать, допустим, бегающего по окну человечка". Есть задача - значит есть условия, т.е. уже есть описание требуемого от библиотеки функционала. Если же стоит задача: выучить какую-нибудь библиотеку, просто чтобы было, то врядли это к чему-то хорошему приведёт. Библиотеки - не цель, а всего-лишь средство. Встала задача написать клиент-сервер - полез в инет на счет обзоров соответствующих библиотек для работы с сетью, определился с наиболее подходящей из них и начал изучать её.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На какую спец идти? WOLFak Свободное общение 12 22.06.2009 09:04
Направьте на путь истинный! Pandrey Помощь студентам 26 16.05.2009 01:08
Остановилось на строке, а дальше не хочет идти prikolist Общие вопросы C/C++ 5 24.03.2009 14:11
Помогите, подскажите, направьте MaryM Помощь студентам 2 21.06.2007 10:33
Направьте на путь истинный! [FlekS] Помощь студентам 3 20.02.2007 11:51