[Squeak-ev] Wie orgnanisiert man seine Arbeit?
Marcus Denker
denker at iam.unibe.ch
Mit Dez 8 14:53:00 UTC 2004
Am 07.12.2004 um 18:14 schrieb Klaus Füller:
> Ich habe inzwischen fast 10 Images herumliegen, in denen ich editiere;
> in jedem Image gibt es mehrere Projekte, ... kurz: Ich blicke nicht
> mehr durch!
>
> Wie macht das der Profi?
>
Ich habe fuer jede Sache an der ich arbeite ein eigenes Image. Diese
baue ich auch in unregelmaessigen abstaenden
komplett neu, auch um zu ueberpruefen, dass auch wirklich alles
reproduzierbar ist.
(Ich mache aber eher komische Sachen, die ich durchaus nicht in anderen
images sehen will, da sie zu stark ins system
eingreifen)
| Einerseits will ich wild herumprobieren (vielleicht dafür ein
gesondertes Image?) ...
Fuer experimente nehme ich immer ein neues image.
> andererseits entsteht blitzschnell aus dem Herumprobieren etwas, das
> sinnvoll verwendbar ist.
> Wie kann ich das in ein sauberes "Produktions"-Image bekommen, ohne
> überflüssigen Ballast mitzuschleppen?
Du kannst die Interessanten Inhalte speichern, und dann im "stabilen"
image laden. Das funktioniert mit typischen
eToy sachen ueber das speichern von projekten, bei Smalltalk-Code
wuerde ich entweder changesets oder Monticello
verwenden.
> Wie unterscheidet sich eigentlich das fileOut einer Klasse (oder einer
> Kategorie) vom Abspeichern eines Projekts?
Wenn Du ein Project speicherst, dann werden alle *Objekte* des
Projektes direkt auf die platte geschrieben. Zusaetzlich
wird noch das changeset gespeichert, das so heisst wie das Projekt.
Changesets: Das system schreibt alle aenderungen mit, die Du an den
Klassen und Methoden vornimmst. Einmal
landen diese im .changes file als immerwaerendes LOG (das ist ganz
praktisch, denn man kann so nach einem crash
alle aenderungen am code wiederherstellen). Zum anderen werden die
aenderungen im aktuellen changeset mitgeschrieben.
menu-->open--> simple changesorter.
Das ist das tool, das alle changesets anzeigt, man kann neue erstellen
und changes in dateien schreiben. Wenn man das
macht, erstellt das System eine .cs datei. Diese enthaelt Smalltalk
code, der alle die Aenderungen abspielt, die im changeset
gespeichert waren.
Changesets haben vor- und nachteile. z.B. ist das arbeiten mit
changesets in einem Team nicht sehr einfach. Es wurden
dafuer andere Tools entwickelt, das aktuell am meisten verwendete ist
'Monticello', ein Quellcode-Versionierungs-Sytem
(sowas wie CVS, das vielleicht jemand von anderen sprachen kennt. MC
verfolgt andere Ansaetze, loest aber das gleiche
Problem).
> Wo finde ich eine Zusammenfassende Dokumentation zur Arbeit mit
> ChangeSets?
>
Gute Frage... das ist wieder das Problem der Dukumentation. Ich habe
jetzt eine registierte Version von SnapzPro,
damit kann man schoen filme erstellen, waerend man irgendwas z.B. mit
Squeak macht... vielleicht komme ich mal
dazu, fuer solche sachen kurze video - howtos zu machen.
Marcus