Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как не надо писать код 
:(
    Опции темы
UnrealMan
Дата 13.4.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(Earnest @ 13.4.2006, 12:04)
А что не понятно? Форма записи - так сказано - такие же аргуметны, как у new, только вместо первого size_t (у new) должен быть void* (удаляемый указатель). Внутри (в твоем случае) может ничего не делать.

Уже давно пробовал – предупреждение не исчезает.

Цитата(Earnest @ 13.4.2006, 12:04)
А просто для "убрать предупреждение" достаточно #pragma

Да я в курсе, но, по-моему, такое «убирание» предупреждений не есть хороший стиль программирования.

Цитата(Earnest @ 13.4.2006, 12:04)
Цитата(Hose @ 11.4.2006, 16:36)
P.S. для общего развития - чем плох switch на 10 вариантов?

В первую очередь, плохо-читабельность и плохо-сопровождаемость.

Чем же это плохочитабельно? И какова предлагаемая альтернатива?
PM MAIL   Вверх
DeadSoul
Дата 13.4.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Earnest @ 13.4.2006, 15:30 Найти цитируемый пост)
Цитата(takedo @ 13.4.2006, 13:39 )
Я думаю, что вообще в наше время просто необходимо иметь программу, которая не только вычищат комментарии, но и переименовывает функции, например CreateBiilGates(int sex, int nationalnost) в Rl92384jk12324(int uioew89342kj,int sdf83sdf2087).
Вообще-то это прямой саботаж и обман работодателя.

За такое ты рискуешь получить "очень хорошие" рекомендации. Только солибной фирме ты так не сможешь нагадить. SVN\MS SS умеют выдергивать старые версии.
Добавлено @ 22:45
Цитата(UnrealMan @ 13.4.2006, 19:54 Найти цитируемый пост)
Цитата(Earnest @ 13.4.2006, 12:04)
Цитата(Hose @ 11.4.2006, 16:36)
P.S. для общего развития - чем плох switch на 10 вариантов?
В первую очередь, плохо-читабельность и плохо-сопровождаемость.
Чем же это плохочитабельно? И какова предлагаемая альтернатива?

Виртуальные функции. Пример(пишу прямо тут, поэтому не обессудьте):
Код

class Figure
{
public:
  enum FigureType{circle,square};

  Figure( FigureType  init):myType_(init){}
  ~Figure(){}

 void WriteType()
 {
   switch(myType_)
   {
     case circle: std::cout<<"Circle"<<std::endl; break;
     case square: std::cout<<"Square"<<std::endl; break;
   }
 }
private:
  FigureType myType_;
  
};

Добавлено @ 22:48
Далее, потребовалось добавить новый метод Draw. Код становится таким
Код

class Figure
{
public:
  enum FigureType{circle,square};

  Figure( FigureType  init):myType_(init){}
  ~Figure(){}

 void WriteType()
 {
   switch(myType_)
   {
     case circle: std::cout<<"Circle"<<std::endl; break;
     case square: std::cout<<"Square"<<std::endl; break;
   }
 }

 void WriteType()
 {
   switch(myType_)
   {
     case circle: DrawCircle(); break;
     case square: DrawSquare(); break;
   }
}
private:
  FigureType myType_;
  
};

Добавлено @ 22:51
Видишь switch-и плодятся! А теперь добавь еще один тип фигуры - треугольник. Во скольких местах тебе необходимо править код? Уже в двух, причем в реальном коде эти два(а ты уверен, что два? Ты все switch-и нашел? smile ) метода могут быть не рядом в одном файле, а в разных файлах\библиотеках


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Earnest
Дата 14.4.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(UnrealMan @ 13.4.2006, 20:54 Найти цитируемый пост)
Чем же это плохочитабельно? И какова предлагаемая альтернатива?

Насчет альтернативы и сопровождаемости DeadSoul уже написал. А плохо-читаемость из-за плохо-обозримости. "Хорошая" функция должна занимать не более пол-страницы, чтобы с одного взгляда можно было понять, что она делает. И делать она должна что-то одно. Мне же приходилось видеть функции со switch'ами страниц на 20. Вот счастье-то, когда что-то поправить нужно. Сразу чувствуешь себя ассенизатором: надеваешь прищепку на нос, рукавицы по локоть и ныряешь в это. smile Мне лично в таких случаях сразу хочется кого-нибудь убить.


--------------------
...
PM   Вверх
takedo
Дата 20.4.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: 1
Всего: 3



Цитата

Вообще-то это прямой саботаж и обман работодателя. Сданная работа - это не только exe (возможно с документацией), но и приличный код. Уж во всяком случае без преднамеренной порчи. И не надо оправдывать эту пакость тем, что тебе мало платят - ищи, в конце концов, другую работу. Любая халтура - она тебя прежде всего портит. 

Цитата

За такое ты рискуешь получить "очень хорошие" рекомендации. Только солибной фирме ты так не сможешь нагадить. SVN\MS SS умеют выдергивать старые версии.

Оно все верно, когда вы изначально обговорили вопросы об авторсте. Плюс если вы сразу же знали, что от вас требовалось, а когда работа выполняется без четкого задания и вы за нее принимались, точно будучи уверенными, что пишете самокат, а в итоге от вас потребовалось написать аэрокосмичесую станцию, то... Вообщем, не очень хочется отдавать исходники, вот после того как зарегистрировать права, - можно, но и то только если очень попросят или об этом сразу была договоренность smile

Добавлено @ 14:14 
Цитата

За такое ты рискуешь получить "очень хорошие" рекомендации.
 - главное, чтобы глюков не было  smile , надёжность - главное! 


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
DeadSoul
Дата 20.4.2006, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(takedo @  20.4.2006,  14:10 Найти цитируемый пост)
Цитата
За такое ты рискуешь получить "очень хорошие" рекомендации.
 - главное, чтобы глюков не было   , надёжность - главное!  

Как ты думаешь насколько сложно получить контракт человеку, пишущему прекрасный код, но имеющему отвратные рекомендации?! 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
takedo
Дата 24.4.2006, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: 1
Всего: 3



DeadSoul, да думаю, что даже полегче будет, чем тому, кто имеет великолепные рекомендации, но продукты которого периодически глючат. 


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Earnest
Дата 24.4.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(takedo @  24.4.2006,  08:13 Найти цитируемый пост)
DeadSoul, да думаю, что даже полегче будет, чем тому, кто имеет великолепные рекомендации, но продукты которого периодически глючат.  

Ты очень здорово ошибаешься.
Работодателю более важна надежность и порядочность сотрудника (другими словами - лояльность), чем его программисские таланты. Конечно, полный лох никому не нужен. Но и самый разотличный программист, если он может выкинуть какой-нибудь фортель в описываемом духе - тоже.

 


--------------------
...
PM   Вверх
Ignat
Дата 24.4.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(Earnest @  24.4.2006,  09:15 Найти цитируемый пост)
Конечно, полный лох никому не нужен.

Ну если он опытный программист, то еще лучше =)))


А по теме: найти хорошее место работы при хороших проф. качествах и кол-ве смены рабочих мест, превышающих 7 в течение пяти лет, представляется сомнительным. 


--------------------
Теперь при чем :P
PM   Вверх
DeadSoul
Дата 24.4.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(Ignat @  24.4.2006,  09:57 Найти цитируемый пост)
А по теме: найти хорошее место работы при хороших проф. качествах и кол-ве смены рабочих мест, превышающих 7 в течение пяти лет, представляется сомнительным.  

Таких людей называют "Летуны" 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
takedo
Дата 24.4.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: 1
Всего: 3



Цитата
Работодателю более важна надежность и порядочность сотрудника (другими словами - лояльность), 
 и тогда то вот работодатель и заключает договор или контракт, в котором всё обговорено, а если контракта на бумаге нет, и ты понимаешь, что начиная писать, как я и говорил ранее "самокат", в итоге пишешь уже аэрокосмолет, то в таких фертелях ничего зазорного на мой взгляд нет. Да, платят то вот как за самокат smile  Но думаю, что про это хватит. Просто сотрудник должен не чувствовать себя обманутым, а лучше защищённым и довольным, тогда этого не будет. А про хорошие качества мои как программиста ничего сказать большего, чем в подписи не могу. Лично я могу выезжать лишь за счёт общей культуры проектирования(и то это моя субъективная оценка самого себя smile ) 


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Xenon
Дата 28.5.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



Может и глупый вопрос, но я тут заметил, что, в основном, люди здесь, вместо того, чтобы преодпределить область имен using namespace std, просто постоянно делают разрешение видимости, типа std::cout и т.д.
Это такой стиль (у Страуструпа в книге такой), или же в этом есть какой-то определенный смысл? 


--------------------
user posted image  
PM MAIL   Вверх
DeadSoul
Дата 28.5.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(XenonSk @  28.5.2006,  13:50 Найти цитируемый пост)
Это такой стиль (у Страуструпа в книге такой), или же в этом есть какой-то определенный смысл?  

Смысл - не вносить идентификаторы из пространства имен std в глобальное пространство имен 


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Earnest
Дата 29.5.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Дополню:  "using namespace x" может привести к кофликту имен: допустим в твоем контексте есть имя Y. Неважно, откуда оно взялось: это может быть локальный символ или нечто из другого пространства имен (введенное директивой using). Если в пространстве имен x тоже определено имя Y, то каждый раз при использовании Y в нашем контексте будем получать стоны компилятора о неоднозначности.

Поэтому общий принцип такой: в заголовочных файлах вообще стараемся избегать директив using (даже using "конкретный символ", using namespace же запрещаем под страхом смерти). Чем шире используется заголовочных файл, тем сильнее избегаем.
Внутри cpp-файлов и тем более внутри функций - вполне допустимо, можно поступать так как в данном контексте удобно.  


--------------------
...
PM   Вверх
Alca
Дата 22.10.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 7
Всего: 50



Кто-то грозился книгу выслать... [email protected].  Сп.


--------------------
PM WWW ICQ Skype Jabber   Вверх
Ignat
Дата 23.10.2006, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 3
Всего: 73



Цитата(Alca @  22.10.2006,  14:26 Найти цитируемый пост)
Кто-то грозился книгу выслать... [email protected].  Сп. 

Ткните пальцем в тот пост. В противном случае, ваше сообщение - оффтоп.


--------------------
Теперь при чем :P
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.