Posts tagged: git

Gefangen, nicht gefunden! #20

Informatik

Anderes

  • Boa bin ich langsam. Das hier liegt schon seit Ewigkeiten hier um. Ein Punkt oben war noch “Die Delphi-Tage sind ausverkauft” (aus verständlichen Gründen hab ich das vor dem Posten wieder gelöscht; Anachronismen sind nicht sonderlich hilfreich) und WordPress zeigt den 16. August als Erstellungsdatum…

Version Control by Example

Versionsverwaltungssysteme (engl. version control systems, VCS) sind ausgesprochen praktisch. Nein, ich denke eigentlich eher sie sind geradezu unabdingbar notwendig für jeden Entwickler. Jeder, der Code schreibt und diesen nicht versioniert, handelt IMHO fast schon fahrlässig. Und zwar unabhängig davon, ob man alleine entwickelt oder mit anderen im Team.

Bei mir befindet sich alles, von dem ich denke, dass es für mich in zwei Wochen immer noch relevant sein wird, in einem Repository. Angefangen hab ich mit Subversion, mittlerweile verwende ich aber eher git.

Mercurial und Bazaar hab ich mir ebenfalls angeguckt, bin aber letztendlich bei git geblieben. Der Unterschied zwischen diesen Systemen ist jedoch nicht allzu groß, auch, wenn es unter den jeweiligen Anhängern mitunter zu Grabenkämpfen kommt. Die üblichen Flames eben, nichts Besonderes. Jedes dieser drei Systeme hat seine Vor- und seine Nachteile und es gibt mitunter lustige Vergleiche. Zudem werden alle drei aktiv weiter entwickelt, was entsprechende Vergleiche, die man zuhauf im Netz findet, sehr schnell altern lässt.

Egal: Ich werde mich nicht groß an der Diskussion beteiligen. IMHO sind die Unterschiede im Detail zwar interessant, praktisch aber zweitrangig. Jedenfalls gefallen mir diese Verteilten Versionsverwaltungssysteme (DVCS) besser als die zentralen wie SVN. Einfach, weil ich wirklich unkompliziert für jeden Kleinkram schnell ein Repository anlegen kann.

Nun, warum schreib ich das alles? Ich habe eine wirklich tolle Einführung zu dem Thema gefunden: Version Control by Example. Das ist ein 210 Seiten kleines, unterhaltsam geschriebenes sehr anschauliches Buch, das in die Thematik einführt und an einem kleinen Fallbeispiel Subversion, Mercurial, git und eine Eigenentwicklung namens Veracity in Aktion zeigt und miteinander vergleicht. Bazaar wird leider nicht behandelt, aber auch so ist das Buch sehr empfehlenswert.

Ich hab das kostenlose PDF gelesen. Außerdem hab ich gerade gesehen, dass der Autor das Buch sozusagen als Marketing-Gag auch verschenkt. Hätte Eric Sink sein Buch ein halbes Jahr früher rausgebracht, so hätte ich es sicher meinen SEP-Studenten wärmstens empfohlen. Und das mach ich jetzt auch mal allgemein. Meine Empfehlung an alle die

  • Bisher immer noch kein VCS einsetzen (jetzt aber schnell!)
  • Sich über DVCS informieren wollen (das lohnt sich!)
  • Einen kurzen Praxisvergleich zwischen SVN, git, Mercurial (und Veracity) interessant finden

Gefangen, nicht gefunden! #6

Informatik

  • So langsam gewöhne ich mich an git. Der Ansatz gefällt mir außerordentlich gut. Allein schon die Möglichkeiten von git log sind erstaunlich.
    1
    user@host:~/rep$ git log --since="2009-01-01" --until="two months ago"

    Es dauert allerdings etwas, bis man sich an git gewöhnt. Anfangs wird man fast von den vielen Möglichkeiten erschlagen und so kann ich noch lange nicht sagen, dass ich schon das meiste kann, aber die grundlegenden Sachen sind nicht viel schwerer als bei SVN

  • Wenn ich schon bei git bin, dann soll natürlich das Git-Buch nicht verschwiegen werden: book.git-scm.com Auch hier gibts dazugehörige Videos. Diese sind ein ganzes Stück ausführlicher als der Text und scheinen nachvertont zu sein. Das Video ist oftmals einen Tick schneller, sodass während über das eine Kommando gesprochen wird, schon das nächste da steht. Trotzdem sehr empfehlenswert.
  • Durch eines der Videos ist mir aufgefallen, dass ich ein interessantes bash builtin bisher noch nicht kannte. Mit pushd kann man wie mit cd in ein neues Verzeichnis wechseln, allerdings wird das alte auf einen Stack gelegt. Mit popd kann man es wieder vom Stack nehmen und dirs zeigt den Inhalt des Stacks an. Man page lesen lohnt sich.
  • Ich habe schon wieder in einem C++-Projekt vergessen einen virtuellen Destruktor zu vergeben und dadurch ein Speicherleck produziert. Warum erzeugt der doofe Compiler da keine Warnung? So schwer sollte das doch nicht sein…
  • Exceptions sind toll. Sie helfen ungemein Fehlerbehandlung und eigentlichen Code zu trennen und machen den Code lesbarer wartbarer und robuster. Ich benutze Exceptions sehr gerne. Aber wo Licht ist, ist auch Schatten: Exceptions sind manchmal nicht ganz einfach richtig zu verwenden. Ein interessanter Artikel über Exception Safety zeigt das.

Gefangen, nicht gefunden! #5

Informatik

  • Ich arbeite mich gerade etwas in git ein. Hier ein interessanter Vortrag: Git The Basics Tutorial Leider ist der Ton nicht so gut. Am Anfang katastrophal, wird dann besser aber nicht gut. Der Inhalt ist aber gut. Relativ viel Zeug, sodass man sich nicht sofort alles behalten kann, dennoch eine gute Einführung.
  • Wer ein Tool zum schnell mal n UML-Diagramm Hinschmieren sucht, kann sich mal yUML ansehen. Man kann damit auf einfache Weise einfache Klassen-, UseCase- und Aktivitätsdiagramme erstellen. Text dient als Input, die Diagramme werden automatisch gezeichnet. Nichts um ernsthaft zu modellieren, aber gut zum schnell mal was zusammen zu kritzeln…
  • Auf DelphiGL.com (übrigens ne gute Adresse, wenns um OpenGL geht) habe ich drei Tutorials zum Thema Softwareentwicklung gefunden. Sowas wollte ich auch mal schreiben. Streckenweise sind diese Tutorials ganz gut, das ein oder andere gefällt mir aber nicht so ganz. Manches Wichtige wird unterschlagen (Grundprinzipien der Modellierung z.B.), anderes ist etwas… äh… ungenau (man könnte auch sagen: falsch). Teilweise bin ich auch nur anderer Meinung. Insgesamt wird der Modellierungprozess etwas zu starr beschrieben, wie ich finde. Ist also nur bedingt zu empfehlen. Vielleicht schreibt ich ja auch mal was zu dem Thema. Es darf sich aber jeder selbst ein Bild davon machen…
  • Durch das Lesen der Tutorials ist mir nochmal aufgefallen, dass ich mir mal genauer Gedanken darüber machen sollte, was ich von Robustheitsdiagrammen halten soll. Im Studium haben wir die nie benutzt und auch so hab ich sowas noch nie verwendet. Abwechselnd finde ich die Dinger entweder klasse oder kontraproduktiv, weil in die falsche Richtung führend. Momentan tendiere ich zu letzterem, das kann sich aber schnell wieder ändern. Ich glaube ich muss das irgendwann einfach mal ausprobieren…

powered by WordPress | QuickLaTeX | WordPress Themes