Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизОцените код. Найти похожие ветки
← →
@!!ex © (2007-11-22 21:19) [120]> [118] Anatoly Podgoretsky © (22.11.07 21:17)
Нет. Че мне себя уговаривать?
Тем боее что называть переменные как a,b,c,d,..,aa,ab,ac,...,ba,bb, нету.
dt - удобнее и вполне читабельно.
← →
@!!ex © (2007-11-22 21:20) [121]> Вообще, проблема в том, что нет возможности в редакторе
> вставить нормальные символы. Такие как ???????
Неее. не надо такого счастья. не удобно было бы.
← →
vpbar © (2007-11-22 21:21) [122]там была нормальная дельта значек суммы, больше или равно, неравно. Мне было бы привычнее.
← →
@!!ex © (2007-11-22 21:22) [123]> Тем боее что называть переменные как a,b,c,d,..,aa,ab,ac,
> ...,ba,bb, нету.
нету привычки
← →
DVM © (2007-11-22 21:27) [124]
> @!!ex ©
Форматирование плохое. Не приемлю никакого другого форматирования, отличного от VCL.
← →
DVM © (2007-11-22 21:39) [125]Этот код вобщем не стоит приводить в качестве портфолио. У меня лично к человеку который принесет такой код возникнет много вопросов тоько из-за плохого оформления кода.
← →
@!!ex © (2007-11-23 08:58) [126]Учитывая что почти все конторы занимающиеся графикой в 3Д пишут на С++, им мое форматирование по любому не понравится.
Так что это не так актуально. :)
← →
@!!ex © (2007-11-23 09:31) [127]> Прочтите про рефакторинг(видимо еще не прочли «Рефакторинг.
> Улучшение существующего кода.» еще лучьше на английском.
Все на Яве... Очень сложно воспринимать. :(
← →
Kolan © (2007-11-23 09:34) [128]> Все на Яве… Очень сложно воспринимать.
Да это так кажется. Основа там вообше текстом описана + UML, а понимать Джаву всеравно надо, так как большинство OO bigots"ов(как они себя называют) используют Джаву для примеров…
← →
@!!ex © (2007-11-23 09:40) [129]> [128] Kolan © (23.11.07 09:34)
читаю минут 15, уже несколько идей как разбить методы на части и избавиться от дублирования кода... спасибо! отличная вещь! хоть примеры все равно плохо воспринимаю
← →
Kolan © (2007-11-23 09:42) [130]> читаю минут 15,
Прочтите до третей главы(Chapter 3. Bad Smells in Code) включительно. Запахи надо помнить иначе можешь пропустить, а исправление их — дело технику уже…
← →
Kolan © (2007-11-23 09:51) [131]И помните рефакторить код ради рефакторинга ненадо, рефакторьте когда добавляете новые функциональности, когда исправляете ошибку… Ну там написано когода…
← →
Andrey © (2007-11-23 10:24) [132]Пц... если бы мой код разбирали на собеседованиях так же как тут, работал бы я щас на рынке Юность приемщиком бутылок, и горя не знал бы )
Оставлю форматирование и имена переменных на усмотрение разработчика. В конце концов "на глазок" всё терпимо )
Вопрос, код критичен по скорости? Если да, то я нашел несколько моментов к которым докопался бы )
В частности:
1. Попробуй переписать TGun.Create представив себе что у PModel есть функция GetMeshCount.
2. Попробуй обойтись меньшим количеством Round-ов в TGun.Shoot.
Новые варианты сюда запости.
Кстати, ще заметил тут следы некоторых глобальных переменных, хотя их объявления не нашел. Очевидно они все в юните Data. Было бы интересно узнать сколько там глобальных переменных )
Конечно про архитектуру и глубину твоих познаний в ООП не мне судить, я тут вообще просто погулять вышел )
И еще, написать на скорую руку можно и:Field: TFieldType
а уже потом, когда вдруг резко изменятся требования к коду и понадобится осуществлять контроль шаловливых ручек наших братьев по разуму - индусов, тогда можно и наростить обертку property... Конечно если на это (подготовку кода к... агрессивной среде) будет выделено дополнительное время/деньги.
Мое резюме: код интуитивно понятен, есть неоптимальные моменты (которые возможно будут исправлены в следующих постах), нет привычки работать в команде, нет коментариев.
А оценка уже зависит от того кто конторе нужен )
← →
Kerk © (2007-11-23 10:25) [133]
> Anatoly Podgoretsky © (22.11.07 20:51) [102]
"The site www.podgoretsky.com was blocked, it is in the Restricted Personal Homepages category"
эх :(
← →
Anatoly Podgoretsky © (2007-11-23 10:31) [134]> Kerk (23.11.2007 10:25:13) [133]
Не нравлюсь я вам. А может podgoretsky.com понравится или по ИП
← →
@!!ex © (2007-11-23 10:36) [135]
> 1. Попробуй переписать TGun.Create представив себе что у
> PModel есть функция GetMeshCount.
GetMeshCount - там есть. Но он возвращает общее количчество мешей, а мне нужны именно конкретные, и их количество нигде не указано к сожалению. и указать - возможности нет...
> 2. Попробуй обойтись меньшим количеством Round-ов в TGun.Shoot.
В отдельную переменную вынести - не вопрос.
Только не нужно это пока.
Это место не является узким с точки зрения скорости.
Оно отрабатываеться сотые доли процента, от общего времени работы кода.
> Кстати, ще заметил тут следы некоторых глобальных переменных,
> хотя их объявления не нашел. Очевидно они все в юните Data.
> Было бы интересно узнать сколько там глобальных переменных
> )
Много. Но там в основном контейнеры. Например, текстурные, модельные. вобщем те вещи, которые должны быть реализованы через singleton, но тогда я еще не знал что глобальные переменные - это плохо, и что есть такая вещь, как singleton.
собственно модуль Data и был создан для того, чтобы хранить там переменные, которые должны существовать в единичном экзмепляре и должны быть доступны везде.
А сейчас если переделывать, придеться все переписывать.
В ледующем проекте так и собираюсь поступить, а текущий придеться оставлять как есть.
> нет привычки работать в команде, нет коментариев.
Да, уже два кода как работаю в гордом одиночестве...
А комментарии.. никто никогд ан учил их ставить. Даже когда в команде работал.
> А оценка уже зависит от того кто конторе нужен )
Мда.. эникейщие из меня получится замечательный.
← →
Andrey © (2007-11-23 10:52) [136]>singleton
Эх... как говорила одна знакомая: "илитарная выдумка" )
Хотя конечно поупражнять мозги этим можно. Даже потом можно красивыми словами поразмахивать.
>А комментарии.. никто никогд ан учил их ставить. Даже когда в команде работал.
Знач фиговая команда... Или не команда вовсе, а просто потом сидели толпой и собирали куски вместе, попутно объясняя друг другу детали интерфейсов и реализации. Коментарии, как это ни прискорбно, нужны.
>Мда.. эникейщие из меня получится замечательный.
Смелее ) "Лучше сожалеть о сделаном, чем о не сделаном." (це) непомню.
Ты главное объясни, что ты хочешь учиться работать в команде, повышать качество и отказоустойчивость своего кода, изучать новые технологии, придумывать/находить и использовать новые идеи... Думать головой и этим приносить прибыль себе и компании.
← →
@!!ex © (2007-11-23 10:58) [137]> Знач фиговая команда... Или не команда вовсе, а просто потом
> сидели толпой и собирали куски вместе, попутно объясняя
> друг другу детали интерфейсов и реализации. Коментарии,
> как это ни прискорбно, нужны.
25 челевок(было когда я там работал, сейчас не знаю).
за 10 лет три успешных проекта, каждый бюджетом на несколько миллионов долларов.
один проект точно получил минимум 7 наград. Это почти все журналы отечественные + КРИ.
Да и не было проблем с пониманием кода. В свое время влился в проект на 4 метра исходников примерно за месяц, почти при полном отсутствии комментариев.
С тех пор и не особо воспринимаю необходимость комментариев.
← →
@!!ex © (2007-11-23 11:08) [138]> >singleton
> Эх... как говорила одна знакомая: "илитарная выдумка" )
> Хотя конечно поупражнять мозги этим можно. Даже потом можно
> красивыми словами поразмахивать.
А как еще? Либо глобальная переменная, либо singleton.
Можно, конечно, запихать в отдельный класс и через него получать туда доступ, но смысл какой? чем это будет лучше глобальной переменной?
← →
_xxx_ (2007-11-23 12:00) [139]
inc(FireCount);
SetLength(Fires,FireCount);
Fires[FireCount-1].effect:=TLinearEmitter.Create(effect_ShootFire,1);
Fires[FireCount-1].PBegin:=Model^.GetMeshID("Fire_begin_"+IntToStr(I));
Fires[FireCount-1].PEnd:=Model^.GetMeshID("Fire_end_"+IntToStr(I));
Model^.SetMeshVisible(Fires[FireCount-1].PBegin,False);
Model^.SetMeshVisible(Fires[FireCount-1].PEnd,False);
inc(I);
Имхо, зачем делать inc(FireCount) в начале, когда лучше сделать это в конце? Не придется 5 раз повторять FireCount-1, лишняя трата ресурсов.
← →
@!!ex © (2007-11-23 12:02) [140]> [139] _xxx_ (23.11.07 12:00)
Это привычка.
Даже на этом форуме давно давно меня в этом упрекали, такими вещами весь код пестрит.
Проблема в том, что если я сейчас начну писать подругому, то либо переписывать весь код, либо получиться солянка: здесь так, а здесь по другому.
← →
_xxx_ (2007-11-23 12:12) [141]Хм. Интересно, а в той конторе когда твой код проверять будут, догадаются ли они сделать следующее или нет?:
http://www.yandex.ru/yandsearch?clid=9582&text=SetMeshVisible
:)
← →
@!!ex © (2007-11-23 12:14) [142]> [141] _xxx_ (23.11.07 12:12)
Этот код я им посылать не буду. :)
Сказал уже. :))
← →
_xxx_ (2007-11-23 12:16) [143]
> @!!ex © (23.11.07 12:14) [142]
Всю ветку не читал, тогда не вопрос:)
← →
vpbar © (2007-11-23 12:30) [144]>>_xxx_ (23.11.07 12:00) [139]
Каких ресурсов? Если вы о скорости, то об этом пусть компилятор заботится. А если сделать так как вы сказали, то логика немного теряется, по-моему. Хотя этот кусок кода вообже нехороший.
← →
Kolan © (2007-11-23 12:36) [145]> >singleton
> Эх… как говорила одна знакомая: «илитарная выдумка» )
Ты нас недалеких просвети, что это значит-то…
← →
Andrey © (2007-11-23 12:44) [146]>Kolan © (23.11.07 12:36) [145]
Кто как услышит, тот так и поймет.
← →
_xxx_ (2007-11-23 12:52) [147]
> vpbar © (23.11.07 12:30) [144]
> >>_xxx_ (23.11.07 12:00) [139]Каких ресурсов? Если вы
> о скорости, то об этом пусть компилятор заботится. А если
> сделать так как вы сказали, то логика немного теряется,
> по-моему. Хотя этот кусок кода вообже нехороший.
Точно компилятор позаботится? Что-то не уверен я в этом.
← →
_xxx_ (2007-11-23 13:29) [148]немного беру слова обратно:)... Компилятор оптимизирует, хотя 4 лишние команды таки добавляется.
← →
Некто © (2007-11-23 13:35) [149]
> Да и не было проблем с пониманием кода. В свое время влился
> в проект на 4 метра исходников примерно за месяц, почти
> при полном отсутствии комментариев.С тех пор и не особо
> воспринимаю необходимость комментариев.
Через годик-два загляни в сорсы этого проекта. Восприятие изменится.
← →
@!!ex © (2007-11-23 13:44) [150]> [149] Некто © (23.11.07 13:35)
Нормально.
Есть старые проекты, конечно сразу их не воспримешь, но чтобы влиться в старый проект нужно не так уж и много времени.
Страницы: 1 2 3 4 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.79 MB
Время: 0.054 c