Archiv des Autors: Amin Kharchi

Amin Kharchi

Über Amin Kharchi

Seit 1999 bin ich beruflich Software-Entwickler und nutze dafür hauptsächlich C++ und Java.

Dateien in Mercurial ignorieren

Wenn man Mercurial (Hg) als Sourcecode Management System verwendet, will man keine automatisch erzeugten Dateien in das Repository schreiben. Zum Beispiel Backup-Dateien von Texteditoren (die mit der Tilde), Objektdateien von C oder C++ usw. Dazu legt man in das Projektverzeichnis eine Datei namens .hgignore an, in der man die Dateien oder Verzeichnisse auflistet, die Hg ignorieren soll. Weiterlesen

FindBugs für Java

Ich will heute ein Java-Tool für statische Code-Analyse vorstellen. Weiterlesen

Virtuelle Konstruktoren in C++

Wir kennen das Konzept der Polymorphie, die die dynamische Bindung (Dynamic Binding) auf Klassen-Funktionen ermöglicht. Der Vorteil der dynamischen Bindung ist die schwächere Kopplung zu Objekttypen. Wir müssen keine Typunterscheidung vornehmen, wenn wir eine Objektfunktion aufrufen, und dadurch ist unser Programm wartungsfreundlicher und erweiterbar.

In C++ erreichen wir das durch virtuelle Funktionen. Aber können wir dieses Konzept auch auf die Erstellung von Objekt-Typen anwenden? Also das unser Programm nicht schon beim Kompilieren wissen muss, welcher Typ zu erzeugen ist?

// konkreter Typ nicht bekannt, 
// wir kennen nur den Basis-Typ:
Base *obj = new Unbekannt();

Weiterlesen

Java – Achtung Falle: Boolean parsen

Heute musste ich aus einem XML-File eine Boolean-Konfiguration laden. Das habe ich nicht das erst mal gemacht, aber es ist auch nichts, was ich täglich mache:

Element node = element.getChild("Editor");
String str = node.getAttributeValue("Overwrite"); 
// str hat "true"
m_settings = new EditorSettings(Boolean.getBoolean(str));

Bitte einfach mal den Code auf sich wirken lassen… Weiterlesen

Library und Framework, was ist der Unterschied?

Frage ich viele erfahrene Java-Kollegen (teilweise Projektleiter!) „was denn der Unterschied zwischen einer Library und Framework sei?“, erhalte ich meistens die falsche Antwort: „Es ist eine Sammlung von Bibliotheken die ein bestimmtes Thema umfassen.“.

Weiterlesen