HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Антипаттерны проектирования
А вы этим страдаете?
Используете антипаттерны?
(публичный опрос)
Вам не разрешено голосовать в этом опросе.
Да, частенько. Но пытаюсь работать над собой.
BioHazard Government-Man Scrama XaeroX
4 26.67%
Редко, в основном из-за лени.
adamix AlMod SanYa Василь Дядя Миша
5 33.33%
Не использую никогда!
0 0%
Паттерны-уяттерны... вообще не задумываюсь о всякой фигне. Код пишу и то хорошо.
BUzer CrazyRussian FiEctro OffyGhost SiPlus ZONER
6 40.00%
Всего: 15 голосов 100%
  [Редактировать опрос (только для модераторов)]

Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34509
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Red face Антипаттерны проектирования

Вот здесь есть отличный список антипаттернов.
http://insidecpp.ru/antipatterns/

Я сам частенько ловлю себя на их применении. Причем копипаст - это еще не самое страшное Встречается и хардкод, и магические числа (хотя обычно они у меня действительно независимые константы). Обожаю изобретать колесо и преждевременно оптимизировать
А как у вас с этим? Применяете? Боретесь? Насколько успешно?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 37699

Старое сообщение 29-09-2008 09:23
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



XaeroX супир, читаю с удовольствием.
Но юзать антипаттерны мне постоянно мешает природная лень.
действую по принципу - лучше весь код один раз переписать, чтобы потом не иметь проблем.
так шо xash3D по всем канонам написан

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 37703

Старое сообщение 29-09-2008 09:39
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34509
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша по всем канонам - это в смысле "на основе паттернов Кармака"?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 37704

Старое сообщение 29-09-2008 09:47
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Programming by permutation
Иногда страдаю, если наличествует булевый выбор.ну например отсечение плоскости по нечетному или четному planenum.
Я, допустим могу не помнить, как правильно. мне проще проверить оба варианта и сравнить FPS

Цитата:
Дядя Миша по всем канонам - это в смысле "на основе паттернов Кармака"?

Архитектура-то у меня своя.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 37706

Старое сообщение 29-09-2008 09:54
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Спагетти - редкость, хотя в здешних краях исходники попадаются.
Копи-паста - мой любимый.
Хард кодед - редкость, но бывает. Предпочитаю таскать инишник за ехе, хотя значения по-умолчанию всегда прошиты (в силу реализации самих функций работы с ини)
Магичсекие числа - почти никогда. Я наоборот страдаю введением огромного количества глобальных констант и макро.
Велосипед многократен.
Блобы? Нет, не ко мне.
Метод подбора... Пока не встречался.
Раздутый интерфейс. Дададададада.
Волшебная кнопка. Я от этого отказался, хотя раньше не испытывал проблем. Просто решил стать правильнее.
Преждевременная оптимизация? Нет, оптимизация ждет рефакторингов.
Пессимизация?

code:
'Пауза для внушительности Sleep 1000

Слепая вера.... Такая слепая...
Исключения. Применил туту один раз в силу кривущей индусской реализации интерфейса. Долгая история.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 37707

Старое сообщение 29-09-2008 09:56
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Interface bloat
Этим да, страдаю в тяжелой форме, утешаю себя мыслью, что у valve тожесамое.
Lava flow
Отважно матеря пространство всегда переписываю, пусть даже на это уйдет не одна неделя.
Зато потом чувствую тепло и лечу )
Exception handling
Чушь ИМХО. есть jmp_buf, его вполне хватает для сложных мест. Да и goto иногда можно, если очень хочется

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 37708

Старое сообщение 29-09-2008 09:57
-
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Да и goto иногда можно, если очень хочется
В VB обработка исключений тесно сопряжена с goto, так что коктейль там заведомо ядерный получается )

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran

Сообщить модератору | | IP: Записан
Сообщение: 37714

Старое сообщение 29-09-2008 10:29
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34509
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Scrama писал:
Преждевременная оптимизация? Нет, оптимизация ждет рефакторингов.

А я из принципа не занимаюсь рефакторингом.
На самом деле не завидую я той фирме, которая возьмет меня на работу...

__________________

Сообщить модератору | | IP: Записан
Сообщение: 37715

Старое сообщение 29-09-2008 11:04
-
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Как правило начинаю писать что-либо с наивной детской уверенностью, что на этот раз все буду делать "по правилам", но потом все неизменно скатывается в жесткую кашу, переполненную Blob, Interface bloat, при этом

Цитата:
Дядя Миша писал:
утешаю себя мыслью, что у valve тожесамое


А вот Blind faith страдаю в обратной форме, параноидально перепроверяя код... Иногда я даже не могу уснуть - мне кажется, что они могут придти и запустить на моем компе мою неправильно работающую программу.

Сообщить модератору | | IP: Записан
Сообщение: 37717

Старое сообщение 29-09-2008 12:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32202
Нанёс повреждений: 392 ед.

Рейтинг



Government-Man ну я как-то попробывал упорядочить интерфейс по структурам с указателями на функции, вышло дико неудобно, пришлось вернуть все обратно

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 37725

Старое сообщение 29-09-2008 14:15
-
BUzer
Pills here!

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Владивосток
Сообщений: 349
Возраст: 40

Рейтинг



Преждевременная оптимизация - ну это всегда пожалуйста. Предпочитаю оптимизировать, не дожидаясь, пока оно начнёт тормозить

Разрастание кода - да вобщем-то тоже. Ну и что с того, что одну функцию апдейта надо скроллить хер знает сколько, и что она содержит почти всю игровую логику?

Зато для меня на первом месте стоит "голый выхлоп" программы - неважно, какая у неё там внутри архитектура, но если она каждый спрайт рисует по дипу, то это плохая программа.

Добавлено 11-10-2008 в 12:18:

Правда тут ещё немаловажную роль играют способы постановки задач геймдизайнерами и менеджментом.
Геймдизайнеры вечно меняют игровую механику на любом этапе разработки игры так, что никакая архитектура не учтёт все возможные повороты.
А менеджмент планирует этапы разработки, озираясь только на качество арта, а не кода. То есть, в first playable у нас арт может быть хоть черно-белый, в альфе арт уже цветной, но не детализованный, в бете полностью готовый... А код? Код они не понимают, и поэтому просто хотят, чтобы в first playable работали первые 60 минут игры! А это 80% кода.
Ну и как после такого подхода коду не быть напичканным всевозможными костылями и хаками?

Добавлено 11-10-2008 в 12:23:

Притом начинаешь им что-то объяснять, а они тебе - "но ведь так все крутые фирмы работают!"

Сообщить модератору | | IP: Записан
Сообщение: 38285

Старое сообщение 11-10-2008 08:23
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34509
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
BUzer писал:
Притом начинаешь им что-то объяснять, а они тебе - "но ведь так все крутые фирмы работают!"

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

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38290

Старое сообщение 11-10-2008 11:02
-
BUzer
Pills here!

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Владивосток
Сообщений: 349
Возраст: 40

Рейтинг



XaeroX
Говорить ультиматумами тоже не есть хорошо. Вопрос ведь скорее не в возможности это сделать, а в соотношении качества и времени. Всё-равно все эти костыли потом вылезают наружу в виде кучи багов.

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

Сообщить модератору | | IP: Записан
Сообщение: 38291

Старое сообщение 11-10-2008 11:58
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34509
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
BUzer писал:
Говорить ультиматумами тоже не есть хорошо.

С другой стороны, мутные формулировки тоже не есть хорошо. У них может сложиться впечатление, что программист сам не знает, что может, а что не может сделать. Или еще хуже - что он может все, но лентяйничает

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38294

Старое сообщение 11-10-2008 13:49
-
Jaturkenjensirhiv
Неместный плюсометчик

Группа: Опытный
Дата регистрации: Mar 2006
Проживает: virtual_type<void,false>
Сообщений: 151

Рейтинг



Мне, как быдлокодеру, положено.

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

Цитата:
Правда тут ещё немаловажную роль играют способы постановки задач геймдизайнерами и менеджментом.
Геймдизайнеры вечно меняют игровую механику на любом этапе разработки игры так, что никакая архитектура не учтёт все возможные повороты.

Эта проблема легко решается. В начале разработки диздок печатается на самой плотной и тяжелой бумаге. Неважно, сколько там текста, хоть 36 шрифтом и с двойным межстрочным интервалом, но должно получиться не меньше 700 листов. Все это обшивается твердой обложкой.
И вот этим талмудом, при попытке что-нибудь туда добавить или изменить, геймдизайнеру с размаху наносится удар по голове с криком "нна, сцука! Ничего не меняем!". Отлично помогает от попыток внесения кардинальных переделок в процессе работы.

__________________
- Между прочим, все охранники - мудаки!
- Ят, но ты же тоже охранник?
- Я тоже мудак.
Встреча модеров и админов в Москве. Избранное.

Сообщить модератору | | IP: Записан
Сообщение: 38394

Старое сообщение 13-10-2008 19:05
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:27. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Антипаттерны проектирования
А вы этим страдаете?
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024