argon bulletin board

Експертно търсене  

Новини:

Регистрирането на нови потребители е временно деактивирано.

Автор Тема: Малко помощ (може би) по Компютърна Графика ( за 3 курс )  (Прочетена 1185 пъти)

ShitHappen

  • Неактивен Неактивен
  • Публикации: 6

Здравейте ,
казвам се Венелин Вълков , студент 1 курс във ФМИ :) . Помагам на един колега с работата му по проекта за 3 курс - Компютърна графика . Току що завършихме 1 итерация . До тук мога да споделя ,че проектът е доста интересен и грабна вниманието ми :). Сега по същество :
Езикът който ползваме е Java (поради ред причини , надявам се ,че никой няма да има проблеми с разчитането (поне) на кода ) . Засега ще постна само repository-то в което седи кода (всеки има достъп до него) , версията в него изобщо не е готова , така ,че мисля няма да има проблем с преподавателите. Кодът е отворен и всеки може да го променя както намери за добре , няма никакви проблеми :) .
http://svn.xp-dev.com/svn/painter/ - Това е :) .
Пускаме кодът до някъде , защото ми се струва ,че този в Draw.rar е малко труден и се надявам ,че тук ще намерите нещо малко по-лесно.
Всякакви коментари и препоръки са добре дошли :)
Активен

antoniy

  • Управител
  • *
  • Неактивен Неактивен
  • Публикации: 723
    • http://antoniy.net/

Защо не си commit-нал project файлът на IDE-то, което си ползвал?

П.П. Хвърлих един поглед отгоре-отгоре на проекта. Забележки мога да ти дам. Като цяло има смислови грешки и проблеми с усложняване на дизайна. Очевидно още не знаеш как ще изглеждат нещата, а си вкарал в един клас factory, singleton и някаква много нестандартна идея за динамично load-ване на класове с reflection, която хич не ми допада. То тя се реализира чат-пат, но поне да се конфигурира в някаквъв конфигурационен файл като xml, не да подмяташ имена на класове из кода и да ги load-ваш с reflection. То се губи полезното от reflection-а като пак трябва да бърникаш кода. Ако идеята е да упражняваш патърните - няма проблем, даже мисля, че е супер. Но гарантирам ти, че ще имаш проблеми и ще трябва да променяш тези неща многократно с този подход. Имаш и грешки от рода да правиш проверка за ъгъл дали е над 360 градуса и ако е - хвърляш exception. В крайна сметка трябва да си чувал за период 2pi и ще можеш просто да извадиш периода и да остане ъгъл в интервал 0-360 като държиш да е тъй. Тва са дреболии, но е хубаво да са си окей. Гледам ползваш анонимни класове за обработка на събитията. Няма лошо, но като хващаш 20-30 събития от GUI-то, дето още го няма, тая тактика ще ти направи кода труден за четене и работа. В общи линии има над какво да работиш още.

Поздрави
« Последна редакция: 08.11.2009, 23:59:29 от antoniy »
Активен
Too short signature limits.

ShitHappen

  • Неактивен Неактивен
  • Публикации: 6

Първо искам да благодаря за отделеното време и поглеждането :) .
По ред :

Не съм качил файловете на IDE-то , защото не смятам ,че е добре да качваш файловете на IDE-то което ползваш.
Всеки избира това което харесва и работи за него. Ползвам source code repository и не работя в екип в който знам ,че имам колеги които ползват същото IDE. Също така ползвам (IntelliJ) което ми е все още доста непознато и за момента няма как да съм 100% сигурен ,че ще кача всичко необходимо. Най-вероятно не е използвано колкото Eclipse или Netbeans и няма да послужи на по-голямата част от хората. Може би ще е добре да направя отделна папка с файловете само за него ,но чак след като го опозная по-добре. Надявам се това да отговаря на въпроса :).

Създаването на обектите съм почти сигурен ,че няма да става по-начина по който е в момента и обмислям два варианта за това . Единият ти спомена , а чрез другият вероятно няма да използвам никакъв Reflection.

За ротацията в началото беше имплементирано по начина който си споменал , после го промених , но вероятно отново ще го върна , идеята е ,че реално тази функционалност още не е имплементирана напълно и за сега мога да експерементирам :) .

Каква "тактика" предлагаш за по-добро обработване на събитията вместо анонимните класове ? В тази насока се нуждая от много идеи :).

Благодаря отново :)
Поздрави.
Активен

antoniy

  • Управител
  • *
  • Неактивен Неактивен
  • Публикации: 723
    • http://antoniy.net/

Направи си отделни класове, които да ти обработват събитията. Можеш цяла фасада от класове да си направиш в случай на много събития. Каквото и да е, важното е кода по обработката да ти е на отделно място.
Активен
Too short signature limits.