Seite 1 von 3
HighEnergy ... Projekt von Anfängern
Verfasst: Mittwoch 31. März 2010, 17:35
von MC_MO
Servus,
ich wollte euch mal zeigen, was ich uns 2 Kumpels innerhalb von 3 Tagen beim Probestudium in münchen gemacht haben. Wir konnten davor nur bisschen Java (was man halt in der Schule lernt), insofern ist mir klar dass es für euch nicht gut ist. Wäre aber dennoch nett wenn ihrs euch anschaut, und vielleicht Verbesserungsvorschläge gebt =)
Hier der Code:
http://paste.pocoo.org/show/196070/
Danke fürs Sichten!
mfg
MC MO
Verfasst: Mittwoch 31. März 2010, 18:10
von jbs
lagere das mal bitte nach paste.pocoo.org aus
Verfasst: Mittwoch 31. März 2010, 18:55
von MC_MO
Hab ich gemacht, danke für den Link =)
Verfasst: Mittwoch 31. März 2010, 19:55
von jbs
Ich sag mal der Codingstil ist unter aller Sau, aber das ergebnis schaut nett aus
Der Code ist überhauptnicht geordnet und alles findet auf Modulebenene statt. Viel Code wiederholt sich und dann sind da ganz viele unpythonische Sachen drin:
Code: Alles auswählen
#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...
#Was sollen die denn hier? In python muss man nichts deklarieren, beziehungsweise man kann es nicht
x=int
y=int
z=int
#was macht denn diese klasse?
class Kasse1(): ...
Das ganze for i in ... lässt sich vernünftiger lösen, da der Code nahezu identisch ist.
Habt ihr euch das Tutorial und PEP-8 einmal angeschaut?
Verfasst: Mittwoch 31. März 2010, 20:21
von MC_MO
Also die vPython-Dokumentation haben wir uns immer wieder zur Hilfe angeschaut, is ja gut verständlich erklärt. Was PEP-8 is weiß ich aber nichtmal
Ich sag mal der Codingstil ist unter aller Sau
Das dachte ich mir fast
Der Code ist überhauptnicht geordnet
Das ist unter anderem ein Problem der mangelnden Zeit, da das Probestudium jetzt aber vorbei ist möchte ich die Datei gerne "bereinigen", so dass ich sie guten Gewissens "ad acta" legen kann. Ich hasse es unordentliche Arbeit zu beenden...
Viel Code wiederholt sich
Das ganze for i in ... lässt sich vernünftiger lösen
Das hatte ich schon gehofft, denn im Moment ist die Bewegung halt wirklich absolut umständlich...länger wärs wohl kaum gegangen
Code: Alles auswählen
#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...
Ich kapier net ganz was du damit meinst
Code: Alles auswählen
#Was sollen die denn hier? In python muss man nichts deklarieren, beziehungsweise man kann es nicht
x=int
y=int
z=int
Berechtigte Frage, das hab ich nicht geschrieben sondern mein Partner. Habs jetzt aber entfernt und es geht nach wie vor, danke!
Die ist da, damit man für die Kassen 1 und 2 nicht jedes Objekt einzeln erstellen muss. Ich glaub aber das ginge auch über nen frame, oder? Die ganze Kassengeschichte hat eben mein Partner gemacht, der hatte mit frames nix zu tun. Die hab nur ich "gelernt" als ich die Bewegung machte =)
Vielen Danke jedenfalls schonmal dass du dir die mühe gemacht hast und es gesichtet hast!!!
mfg
MC MO
Verfasst: Mittwoch 31. März 2010, 20:29
von derdon
MC_MO hat geschrieben:jbs hat geschrieben:Code: Alles auswählen
#warum nicht gleich in einer zeile?
i=range(6)
for x in i: ...
Ich kapier net ganz was du damit meinst

der Code tut das gleiche wie dieser hier:
Verfasst: Mittwoch 31. März 2010, 20:30
von jbs
PEP8 ist ein Styleguide (siehe Signatur).
scheint mir etwas besser zu sein, als das in 2 Zeilen mit einer weiteren Variablen zu machen.
Ich finde den Namen der Klasse nichtssagend. Klasse sagt ja nicht was es macht.
Verfasst: Mittwoch 31. März 2010, 20:58
von .robert
jbs hat geschrieben:[...] aber das ergebnis schaut nett aus
Hmpf, ich würde es mir ja auch gerne mal ansehen, aber:
https://bugs.launchpad.net/ubuntu/+sour ... bug/496795
Verfasst: Mittwoch 31. März 2010, 21:57
von MC_MO
Gut dann hab ich das mit range jetzt verstanden, wusste ich nciht. Danke, werd ich ausbessern!
Das PEP8-Ding les ich mir mal durch, danke für den Hinweis darauf!
Der Name der Klasse ist nicht Klasse, sondern Kasse! Das Ding wo man Fahrscheine kauft

Verfasst: Mittwoch 31. März 2010, 22:03
von derdon
Und ich hab auch jedes Mal Klasse statt Kasse gelesen
Aber warum eine 1? Wenn Namen durchnummeriert werden, machst du etwas falsch.
Verfasst: Mittwoch 31. März 2010, 22:25
von jbs
@derdon: nicht unser tag heute

Verfasst: Mittwoch 31. März 2010, 22:26
von derdon
Ja, das merk ich auch schon.
Verfasst: Mittwoch 31. März 2010, 22:31
von MC_MO
Wie schon gesagt das mit den Treppen, den Geländern und den Kassen hat mein Kumpel gemacht. Den Schriftzug der 3te im Bunde. Was die sich gedacht haben weiß ich net, aber ich werds natürlich ausbessern

Verfasst: Mittwoch 31. März 2010, 22:33
von gkuhl
Wo wir gerade bei der Kasse sind. Hier mal ein kleiner Denkanstoß, wie du es etwas übersichtlicher machen kannst:
Code: Alles auswählen
import visual as vis
class Kasse(object):
def __init__(self, x, y, z):
'''Docstring: Ein Kasse...'''
self.nordwand = vis.box(pos = (x, y+85, z),
length = 120,
width = 120,
height = 5,
material = materials.wood
)
...
if __name__ == '__main__':
kassen = [Kasse(400, -1040, z) for z in [425, -425]]
Grüße
Gerrit
Verfasst: Mittwoch 31. März 2010, 22:45
von derdon
Also ich rücke immer so ein:
Code: Alles auswählen
import visual as vis
class Kasse(object):
def __init__(self, x, y, z):
'''Docstring: Ein Kasse...'''
self.nordwand = vis.box(
pos=(x, y+85, z),
length=120,
width=120,
height=5,
material=materials.wood
)
...
if __name__ == '__main__':
kassen = [Kasse(400, -1040, z) for z in [425, -425]]
Ich glaube das habe ich mir bei mitsuhiko abgeguckt. Die Leerzeichen um das Gleichheitszeichen habe ich entfernt, weil es sich hier um Keywords für eine Funktion handelt.
Verfasst: Mittwoch 31. März 2010, 22:55
von jbs
Apropos mitsuhiko, gerade sah ich, dass er angeblich
20 Jahre alt sei, was mich gerade verdammt verstört, da ich selbst im selben Alter bin
Oder stimmt die Angabe einfach nicht?
Es heißt übrigens ein
e Kasse

Verfasst: Mittwoch 31. März 2010, 23:02
von gkuhl
derdon hat geschrieben:Also ich rücke immer so ein.
Gefällt mir, werde ich wohl auch abkupfern

Verfasst: Donnerstag 1. April 2010, 00:54
von Leonidas
jbs hat geschrieben:Apropos mitsuhiko, gerade sah ich, dass er angeblich
20 Jahre alt sei, was mich gerade verdammt verstört, da ich selbst im selben Alter bin
Oder stimmt die Angabe einfach nicht?
Doch doch, die ist schon richtig so, vielleicht ist er inzwischen auch 21. Und bei ihm heißt es auch Kass
a
@OP: Probestudium in München? Welche Uni?
Verfasst: Donnerstag 1. April 2010, 01:52
von jbs
Das ist ja schon deprimierend. Und wenn man sieht wann er sich so angemeldet hat, merkt man, wie früh er angefangen hat.
Verfasst: Donnerstag 1. April 2010, 07:33
von /me
derdon hat geschrieben:Und ich hab auch jedes Mal Klasse statt Kasse gelesen
Aber warum eine 1? Wenn Namen durchnummeriert werden, machst du etwas falsch.
Ich habe "Kassel" und nicht "Kasse1" gelesen und habe mich gefragt was das soll. Wir haben jetzt zumindest einen schönen Exkurs über die sinnvolle Benamung von Bezeichnern.