Warsztat - Programowanie gier

Wrzesień 03, 2010, 04:10:52 *
Witamy, Gość. Zaloguj się, lub zarejestruj proszę.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Warsztat, Regulamin forum, #warsztat, Wiki, FAQ, NoPaste, Mapa
 
   Strona główna   Pomoc Szukaj Zaloguj się Rejestracja  
Strony: 1 2 [3]
  Drukuj  
Autor Wątek: Czytacie kod?  (Przeczytany 4954 razy)
d0ubl3_j
Full Member
***

wiadomości: 126


Zobacz profil
« Odpowiedz #30 : Lipiec 10, 2007, 03:23:45 »

heh, fakt, ktory przemawia za tym, ze co za duzo to nie zdrowo:
Funkcja main() jest szczytem tej piramidy i odwołuje się do wszystkiego co jest niżej. Można to też opisać tak, że funkcja main() ujmuje program i problem, jaki ma on rozwiązywać, jako całość, ale nie wnika za bardzo w szczegóły. Oddelegowuje te szczegóły do poszczególnych funkcji, które wywołuje, i obiektów, których używa. One z kolei mogą rozbijać problem na jeszcze mniejsze problemy, bardziej szczegółowe, ograniczając się do pewnych konkretnych drobnych zadań itp.
i potem najwiekszym problemem jest problem w polapaniu sie w problemach Wink ;p


Twoja odpowiedź sugerowała, że albo nie wiesz, o czym mówię, albo się nabijasz ;-P Lepiej dla ciebie, żeby to było to pierwsze, bo inaczej zarobiłeś sobie u mnie minusa...
only wlaczam sie do dyskusji Wink
Zapisane

Moriturius
Hero Member
*****

wiadomości: 755


What You See Is What The F*ck


Zobacz profil WWW
« Odpowiedz #31 : Lipiec 10, 2007, 10:38:06 »

Ja lubię czytać kody w tutorialach i takich tam, tylko często mnie wkurza że są to jakieś skrawki i tak naprawdę nie wiadomo gdzie co wsadzić. To ja już wole poczytać dokumentację Tongue

Ale poważnie. Lubie artykuły które opisują coś teoretycznie i dodatkowo mają dołączony plik źródłowy z kodem. Takie kawałeczki kodu jakie w niektórych artach autorzy dają gdzieniegdzie żeby `pokazać` w sumie nic nie pokazują a jedynie burzą piękno tekstu Wink Każdą linijkę kodu przecież można wsadzić w każde miejsce w programie więc lepszy jest cały kod żeby było widać co gdzie idzie.

Dziękuję za [nie]uwagę Smiley
Zapisane

__*̡͌l̡*̡̡ ̴̡ı̴̴̡̡|̲͡▫ ̲͡ ̲͡π̲ ̲̲͡▫̲ ̲|̡̡̡ ̴̡ı̴̡̡ *̡͌l̡*__
@strona:   http://moriturius.wordpress.com/
@grafika:  http://moriturius.deviantart.com/gallery/
@projekt:  AGE - niestety wstrzymany na dłużej Wink
RageX
Gość
« Odpowiedz #32 : Lipiec 10, 2007, 12:24:32 »

Lubię połączenie... dobrze udokumentowany kod, plus kilka stron opisu całego procesu.
O tyle mnie troszkę te http://creators.xna.com/Education/Samples.aspx sample bolą. Sam kod udokumentowany, często nie wiadomo od czego zacząć.

Do "przedmówców" dodał  bym jeszcze mój własny problem ze zrozumieniem matematycznych równań napisanych przez kogoś innego niż ja sam... wolę wtedy kod. Heh.

Co do ctrl-v itd. kiedyś przekopiowałem/przepisałem kod do RayTriangleIntersection, właściwie to zaimplementowałem to http://www.cs.virginia.edu/~gfx/Courses/2003/ImageSynthesis/papers/Acceleration/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf ...

dziś napisałem własny kod RayTriangleIntersection, właściwie z lenistwa. Porównywałem z tamtym i jest właściwie tak samo szybki... ale narazie tylko na oko...
no i jest czytelniejszy, prostszy. Służę kodem na prośbę. Tongue
Zapisane
gamecreator
Full Member
***

wiadomości: 118


It's easy to believe it when you don't understand.


Zobacz profil WWW
« Odpowiedz #33 : Lipiec 10, 2007, 18:10:28 »

Cytuj z: d0ubl3_j
heh, fakt, ktory przemawia za tym, ze co za duzo to nie zdrowo: [...ciach!.. fragment mojego posta] i potem najwiekszym problemem jest problem w polapaniu sie w problemach Wink ;p

Aha, czyli jednak to drugie... No cóż, minus jak stąd do Ruskich Tongue
Gdyby nie było problemów, programiści nie mieliby co robić, bo oni są od rozwiązywania problemów. To, co opisałem, to znana [przynajmniej mnie ;-P] technika "Dziel i rządź", czyli rozbijanie trudnego i ogólnie zarysowanego problemu na mniejsze problemy, a te na jeszcze mniejsze, do momentu, gdy te małe problemiki da się już bardzo łatwo rozwiązać. I ma to właśnie ułatwić połapanie się w problemie, bo łatwiej zrozumieć drobny konkretny problem, niż duży i abstrakcyjny [i nie chodzi mi o malarstwo, no chyba że tobie, ale wtedy pomyliłeś fora ;-P].
Oprócz podziału programu na podprogramy [funkcje] i budowanie "piramidy wywołań" [czyli tzw. programowania proceduralnego], stosuje się też podział programu na poszczególne jednostki funkcjonalne [obiekty, komponenty, moduły] i organizuje je w hierarchie klas, budując "piramidy dziedziczenia" [programowanie obiektowe], gdzie na szczycie są klasy najbardziej abstrakcyjne, a na dole są już bardziej konkretne.
Ale ty się dziwujesz jak dziwująca się babcia ;-P

Cytuj z: gamecreator
only wlaczam sie do dyskusji Wink

To sie włączaj only jak masz coś do powiedzenia w temacie ;-P
« Ostatnia zmiana: Lipiec 10, 2007, 18:12:29 wysłane przez gamecreator » Zapisane

SasQ
http://sasq.programuj.com/
Co robi rasowy Linuxowiec po zejściu z Mount Everest?
umount everest
Cheesy
d0ubl3_j
Full Member
***

wiadomości: 126


Zobacz profil
« Odpowiedz #34 : Lipiec 10, 2007, 22:13:54 »

no coz panie gamecreator zostane przy swoim goto Wink

a co do mojej techniki czytania kodu, to zarzucam do deasamblera i lookam na EP, skacze sobie do main i lookam co tam siedzi, przegladam tablice importow, stringi (tylko nigdy nei moge zastac wlascicielek tych stringow) i ogolnie co tam bozia dala* Wink




*kolejnosc moze ciut jest inna, ale zalezna od kontekstu ;pp
Zapisane

Nevermind77
Newbie
*

wiadomości: 21


Zobacz profil
« Odpowiedz #35 : Lipiec 10, 2007, 22:57:15 »

Jak czytam artykuł w którym mam na końcu cały kod z komentarzami i schludnie napisany (Cheesy) to rzucam się na niego, ctr+c, ctr+v, f9, działa? Działa! I teraz zaczynam czytanie kodu, po przeczytaniu zerkam do artykułu i dopasowuje sobie fragmenty kodu do fragmentów artykułu.

Po przeczytaniu artykułu zazwyczaj piszę po swojemu rozwiązanie danego problemu, sprawdzam czy działa i czy dobrze zrozumiałem działanie programu.

Cytuj
"Dziel i rządź", czyli rozbijanie trudnego i ogólnie zarysowanego problemu na mniejsze problemy,

Po tym co napisałeś nasuwa mi się myśl że ty z jednego problemu robisz kilka...

Nazwa funkcji czy metody ma być tak napisana że po przeczytaniu nazwy ma się nasunąć myśl co robi, powinna być udokumentowana wartość jaką zwraca. Dzięki temu nie muszę zaglądać "pod maskę", a jak mam ochotę to owszem, spojrzę co robi konkretniej, ale tylko wtedy, gdy tego potrzebuję.

A jak nie ma dokumentacji a nazwa funkcji mi nic nie mówi, to co mam? Czytać cały kod? Szukam innego, lepszego!
Zapisane
Moriturius
Hero Member
*****

wiadomości: 755


What You See Is What The F*ck


Zobacz profil WWW
« Odpowiedz #36 : Lipiec 10, 2007, 23:44:41 »

Cytuj
"Dziel i rządź", czyli rozbijanie trudnego i ogólnie zarysowanego problemu na mniejsze problemy,

Po tym co napisałeś nasuwa mi się myśl że ty z jednego problemu robisz kilka...

Bo o to właśnie w tej metodzie chodzi. Z jednego dużego, robisz kilka małych które jest łatwiej rozwiązać.
BTW:Mój informatyk zawsze prostował tą nazwę na "dziel i zwyciężaj", ale wszystko jedno wazne ze wszyscy wiedza o co chodzi Wink

PS. gdyby nie ta metoda to bóg wie czy jeszcze nie kodzilibyśmy na kartach perforowanych!
PS2: swoją drogą ciekawe ile kart zajmowałby tetris...
« Ostatnia zmiana: Lipiec 10, 2007, 23:46:34 wysłane przez Moriturius » Zapisane

__*̡͌l̡*̡̡ ̴̡ı̴̴̡̡|̲͡▫ ̲͡ ̲͡π̲ ̲̲͡▫̲ ̲|̡̡̡ ̴̡ı̴̡̡ *̡͌l̡*__
@strona:   http://moriturius.wordpress.com/
@grafika:  http://moriturius.deviantart.com/gallery/
@projekt:  AGE - niestety wstrzymany na dłużej Wink
RageX
Gość
« Odpowiedz #37 : Lipiec 10, 2007, 23:46:24 »

"Problem solving".
oeza, ziew itd.  Tongue
Zapisane
Nevermind77
Newbie
*

wiadomości: 21


Zobacz profil
« Odpowiedz #38 : Lipiec 10, 2007, 23:52:06 »


Bo o to właśnie w tej metodzie chodzi. Z jednego dużego, robisz kilka małych które jest łatwiej rozwiązać.

Z tym że ja pominąłem celowo "małych".

Otóż z "void Wyświetlaj()" masz 5 innych funkcji które stają się coraz mniej czytelne. O ile gdy chcesz zbadać konkretnie zagadnienie wyświetlania to jest oczywiste że ten kod sprawdzasz o tyle gdy nie potrzebujesz tego bo interesuję ciebie fizyka to możesz spokojnie się zadowolić tym że ta funkcja wyświetla. A jak to robi? A co mnie to! Wink
Zapisane
Moriturius
Hero Member
*****

wiadomości: 755


What You See Is What The F*ck


Zobacz profil WWW
« Odpowiedz #39 : Lipiec 11, 2007, 13:25:24 »


Bo o to właśnie w tej metodzie chodzi. Z jednego dużego, robisz kilka małych które jest łatwiej rozwiązać.

Z tym że ja pominąłem celowo "małych".

Otóż z "void Wyświetlaj()" masz 5 innych funkcji które stają się coraz mniej czytelne. O ile gdy chcesz zbadać konkretnie zagadnienie wyświetlania to jest oczywiste że ten kod sprawdzasz o tyle gdy nie potrzebujesz tego bo interesuję ciebie fizyka to możesz spokojnie się zadowolić tym że ta funkcja wyświetla. A jak to robi? A co mnie to! Wink

To co mówisz bardziej przydałoby się do reklamowania polimorfizmu i dziedziczenia  Tongue
Zapisane

__*̡͌l̡*̡̡ ̴̡ı̴̴̡̡|̲͡▫ ̲͡ ̲͡π̲ ̲̲͡▫̲ ̲|̡̡̡ ̴̡ı̴̡̡ *̡͌l̡*__
@strona:   http://moriturius.wordpress.com/
@grafika:  http://moriturius.deviantart.com/gallery/
@projekt:  AGE - niestety wstrzymany na dłużej Wink
Strony: 1 2 [3]
  Drukuj  
 
Skocz do:  

Hosting: Polska Strefa - Ogłoszenia
Powered by SMF 1.1.7 | SMF © 2006, Simple Machines LLC