[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