hit-the-code-jack

Roadmap to Open Code Quality Management

Archiv für Juli, 2008

Watch your Code, before …

… the code watchs you. Hey, Big Brother what’s about your Code Review:

Und hier die Shownotes zur Session.

  • 0 Kommentare
  • Abgelegt in: Allgemein
  • xsdmetrix

    Ein Opensource-Metrik-Tool für XML-Derivate zu finden ist garnicht mal so einfach. Die normalen LOC-Tools sind hier ziemlich obsolet, die Syntax ist durch DTD und XSD jedoch ziemlich klar. Besser als bei fast allen Sprachen, gibt es absolut eindeutige Delimeter für Elemente und Attribute, die auch geschachtelt und verwinkelt sein dürfen. Eine DTD an sich jedoch ist eher veraltet, a) weil zu wenig Leistungsfähig und b) weil selbst nicht in XML formulierbar. Bleibt also als Datenmodell für XML-Instanzen die XML-Schema-Definition, also kurz XSD. RelaxNG lasse ich hier der Einfachheit mal aussen vor, James Clark mag es mir verzeihen.

    Leider gibt es ein “Just A Simple Tag Counter” oder ähnliches nicht als Opensource, oder zumindestens habe ich keines gefunden. Und auch die Universitäre-Forschung versucht eher den McCabe-Ansatz den XML-Modeldefinitionen über zu stülpen. Für statitische Model-Definitionen ist ein McCabe-Komplexität einfach fehl am Platz, weil der gute McCabe die Verzweigungspfade in Entscheidungslogiken messen will, und nicht die Vererbungstiefe und -breite von Metamodellen. Tja, wenn die OpenSource nix hat, die Professoren noch im falschen Film sind, bleibt wohl nichts anderes übrig als selber in die Tasten zu greifen. Gesagt getan.

    Ziele:
    1) Zähle einfach mal alles, was es so an einer Schema-Datei so zu zählen gibt, vergiss LOC.
    2) Zähle alle globalen Elemente, Complex-Types, Attributes etc.
    3) Zähle alle Annotations, vor allem die, die global sind.
    4) Bring das Gezählte schonmal in Relation zu einander.
    Global heißt hier alles, was direkt unterhalb von <xsd:schema> liegen

    Hmm, und wie zählt man eine XML-Datei am besten? Genau mit einem count(xpath(irgendwas)), mittels einer XSL Transformation. Genaus das haben wir gemacht. Wen das erste Ergebnis interessiert, melde sich per Email, SMS, Skype und/oder verfolge diesen Blog weiter, z.B. per RSS-Feed.

  • 0 Kommentare
  • Abgelegt in: SCA, xsdmetrix