Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unabhängiges Code Audit als Dienstleistung (https://www.delphipraxis.net/196159-unabhaengiges-code-audit-als-dienstleistung.html)

nytaiceman 27. Apr 2018 07:18

Unabhängiges Code Audit als Dienstleistung
 
Hallo zusammen,

Wir haben innerhalb unseres Teams sehr unterschiedliche Skills und Vorgehensweisen beim programmieren.
Code Review untereinander funktioniert nur schleppend, da die Ansichten was guter Code ist diametral auseinander gehen.

Unser Chef möchte ein externes Audit durchführen lassen um eine objektive Bewertung über den Delphi Code eines jeden Teammitgliedes zu bekommen.
Ich habe nun den Auftrag gefasst, hierfür einen externen Partner zu finden.

Hat jemand dies schon einmal durchgeführt? Wer bietet das an, wie sind die Kosten?

Danke Euch!

Towmuz 27. Apr 2018 07:59

AW: Unabhängiges Code Audit als Dienstleistung
 
Moin,

ich glaub hier könntest du mal fragen.

Gruß

Uwe Raabe 27. Apr 2018 08:03

AW: Unabhängiges Code Audit als Dienstleistung
 
Zitat:

Zitat von nytaiceman (Beitrag 1400660)
Unser Chef möchte ein externes Audit durchführen lassen um eine objektive Bewertung über den Delphi Code eines jeden Teammitgliedes zu bekommen.

Was führt dich oder deinen Chef zu der Annahme, daß ein externes Audit eine objektive Bewertung liefert? Es ist auch nichts weiter als eine subjektive Bewertung, halt nur extern und wahrscheinlich auch ohne persönliche Animositäten (was sicher ein Vorteil ist).

Nach welchen Kriterien wäre denn eine solche Beurteilung objektiv? Ist damit so etwas wie die Clean Code Initiative von Robert C. Martin gemeint? Man könnte auch eine statische Code-Analyse laufen lassen, mit der die Einhaltung gewisser Regeln geprüft wird.

Wenn aber schon die einzelnen Ansichten der Entwickler über diese Regeln so drastisch auseinander gehen, wird das doch zwangsläufig zu Frust und Ärger führen. Soll denn das Ergebnis eine Bewertung oder gar Umerziehung der Entwickler sein?

Nach meiner Meinung sollte man sich auf einen Satz Regeln einigen - notfalls per Dekret eines von der Gruppe oder vom Chef Auserwählten - und alle halten sich daran. Sollte das nicht innerhalb der Firma funktionieren, kann man sich dazu auch einen externen Berater holen oder auf einen anerkannten Standard zurückgreifen. Wer dann immer noch quer schießt, muss sich die Frage stellen, ob er noch im richtigen Team spielt.

jaenicke 27. Apr 2018 08:15

AW: Unabhängiges Code Audit als Dienstleistung
 
Zitat:

Zitat von nytaiceman (Beitrag 1400660)
Code Review untereinander funktioniert nur schleppend, da die Ansichten was guter Code ist diametral auseinander gehen.

Es macht aber (wie Uwe schon schrieb) auch wenig Sinn dort Vorgaben extern abzuholen, die dann vielleicht niemandem im Team passen.

Nehmen wir mal als Beispiel an einer im Team rückt die Zeilen mit begin und end mit ein, der andere nicht. Nun kommt jemand extern und schreibt sie aber in die selbe Zeile wie das if usw. (würde sicherlich niemand empfehlen wegen Clean Code usw., aber mal angenommen).
Das Ergebnis wäre, dass niemand mit dieser Regelung einverstanden wäre.

Deshalb wären für ein solches Audit als erstes verbindliche Regeln erforderlich welche Anforderungen an den Quelltext gestellt werden. Ein Beispiel ist z.B. das Verbot with zu benutzen um den Wartungsaufwand zu reduzieren und übersichtlicheren Quelltext zu generieren.
Wenn dann solche Regeln da sind, erübrigt sich aber auch der Audit, dann müsste ja nur noch geschaut werden, dass sich auch alle dran halten.

Die "Standard" Audits gehen auch in die Richtung Sicherheit des Codes, weniger allgemeine Qualität. Das kenne ich allerdings nur für C++, Java und JavaScript.

// EDIT:
Ich würde z.B. den Object Pascal Styleguide und den integrierten Formatter als Grundlage nehmen. Der enthält keine exotischen Vorlieben für die Formatierung (manche verbringen ja fast mehr Zeit mit der Quelltextformatierung als mit dem Programmieren) und lässt sich durch den integrierten Formatter auch recht einfach umsetzen.

Wir haben z.B. 130 Zeichen als maximale Zeilenlänge festgelegt und nutzen ansonsten die Standards im Formatter. Da kommt gut lesbarer Quelltext heraus und das ist ja das Entscheidende und man hat zudem wenig Aufwand damit.

Aber Formatierung ist natürlich nur ein Kapitel. Dazu kommt noch Benennung, Größe der Units, Methoden usw., was teilweise durch Codemetriken abgebildet werden kann.

TiGü 27. Apr 2018 08:49

AW: Unabhängiges Code Audit als Dienstleistung
 
Eine streng objektive Bewertung ohne externe Person kann auch bspw. durch Tools wie FixInsight geschehen. https://www.tmssoftware.com/site/fixinsight.asp

Die Trialversion ist voll funktionsfähig und zeitlich unbegrenzt.
Die einzige Einschränkung ist, dass sie pro Unit nur fünf Verstöße meldet. Das ist aber kein wirkliches Hindernis.

MichaelT 27. Apr 2018 09:56

AW: Unabhängiges Code Audit als Dienstleistung
 
Objektiv ist in den meisten Fällen die von einem selbst präferierte subjektive Wahrnehmung.

Es gibt nicht die Wahrheit, es gibt eine unter vielen. Oder wenn der Mensch viel Aufwand treibt etwas zu erreichen, dann stellt sich das Gefühl ein, 'Das wird schon *das* Richtige sein'.

Ich mache Audits für mich um bspw. einem ClearSQL damit ich einen Endruck erhalte über den Level auf dem bspw. ein Oracle PL/SQL Programmierkultur zumindest mal da ist. Du bekommst in der Regel stark polarisierte Ergebnisse.

Entweder es wird HIT gezangelt wie Sau und es läuft doch irgendwie oder die Leute wissen was sie tun. Dann schaue ich noch mit ein paar Stichproben ob Neuerungen aufgenommen wurden oder ob die Leute noch historisch 8i like PL/SQL Coding mitschleifen. Das geht im Fall von ClearSQL da der Typ der die Engine schreibt nur PL/SQL bis zum Exzess betreibt.

'Wir haben ein Muster und das wenden wir an.' Hört sich seltsam an, gibt es aber noch zur Genüge. Das hat nichts mit Qualitätsverständnis zu tun, sondern manch ein IT Organisation ging von einer Ablöse innerhalb von 10 Jahren aus. Da hat es ein paar am falschen Fuß erwischt.:-D

---

PL/SQL in dem Umfeld liefert objektiv Datenpakete schneller oder langsamer. Dann stellt sich die Frage, 'Um welchen Preis wird schnell erkauft'. Kommt schnell zum Preis von 'Versteht keiner mehr' und beginnt zu kopieren ohne im Detail zu verstehen. Es gibt keinen guten Code, schlechten schon.

---

'Preußische Genauigkeit' mit amerikanischen Werkzeugen und Programmiersprachen ist ein wenig ambitioniert.

---

Auf einem BW/BI kann ich mir anschauen wie der ETL, das Staging, ODS und die Cubes aufgebaut sind, denn der Zugang zu 'Qualität im Sinne des 'Programmieren'' (auch Menschen die nicht Programmieren) ist
a) Automatisches schnelles Finden und Verbinden über Naming
b) Wie sind die Cubes aufgebaut und wird viel in Exits/Eventhandler rumprogrammiert um Designirrtümer resp. nicht durchgeführtes Redesign verstecken und die Behebung verschleppen in der Hoffnung auf System- oder Technologieablöse.
c) Wird im Warehouse versucht Fehler aus dem Quellsystem zu beheben/kompensieren

Warum kann/konnte ich das sagen. Da ich nach vierstelliger Zahl von Cubes alles gesehen habe bis zum Stand Datum ca. 2012. Ich würde mir aber nicht anmaßen solch einen Audit bei einer Nestle zu machen.

---

Ehrlich gesagt, ich maße mir nicht an den Programmierer mit seinem Code in Verbindung zu bringen. Ich wäre sehr vorsichtig mit den Schlüssen die ich draus ziehe. Jeder Mensch ist anders, hat andere Freuden und Sorgen.

Wenn ich den Code meine Kollegen/Partner im alten Unternehmen zeige... Geil.

Aber nur jene die sie geschrieben haben können überhaupt diese ClassLibrary verwenden. Es steckt viel Implikation drinnen und es sind schon mehrere C#.net Profis mit dicken Tränen die Wangen runterlaufend schreiend davonlaufen gesehen. Dafür kann man, wenn man sich auskennt eine Applikation die andere Projekt nennen in 120 Zeilen hinschreiben (datengetrieben mit Controls und GUI Definition die sich alles selbst ermitteln/konfigurieren). In der 'Library' stecken 10 Jahre Praxiserfahrung von vielen Projekten zuvor drinnen.

---

Wenn die Diskussionen auf der Ebene, 'Wir diskutieren um des Kaisers Bart über funktionierenden Code und der Königsweg wird gesucht', laufen, dann sehe ich schwarz. 'Warum riecht der Schas nicht gut' im esoterisch anmutenden Zirkel.

Deswegen waren ich und ein anderer Partner eher im unteren Stockwerk und in der Pizzeria mit dem Ziel neue Sachen zu probieren. Das Ergebnis war, dass zumindest er einen lässigen gut bezahlten Job als Externer in einem Krankenhaus hat. Ich bin noch zu jung und zu eifrig für solche 'Versorgungsposten', auch wenn die genauso stressfrei sind.

Erzeugt Suchen Stress bei euch? Wäre auch noch so ein Punkt.

Ich würde das intern machen und mal für mich selbst festlegen, 'Was will ich eigentlich wissen'. Will ich wissen wie gut ein Code geeignet ist irgendeinen Delphi Programmieren den ich von der Straße auflese hinzusetzen und der soll in der Art etwas schreiben und gegebenenfalls Teile wiederverwenden.

Gibt es viele doppelte Implementierung desselben Sachverhalts wäre ein Symptom ... oder gibt es einen übertriebenen Glauben an Reusability. (in der Breite ist Design for Reusability nur in manchem Umfeld sinnvoll). Hängt eine Organisation Mythen nach.

Im Prinzip ist es so, 'Der Schuh drückt dort worüber diskutiert wird'.

Wenn ein Chef nur ruhiger will schlafen, soll er sich ein Goldmünze unter den Polster legen. Das ist billiger und bleibender Wert. Denn auch wenn er nicht rostet, 'Source Code ist vergänglich'. Es dauert heute länger bis er vergeht, aber er wird vergehen.


Zitat:

Zitat von nytaiceman (Beitrag 1400660)
Hallo zusammen,

Wir haben innerhalb unseres Teams sehr unterschiedliche Skills und Vorgehensweisen beim programmieren.
Code Review untereinander funktioniert nur schleppend, da die Ansichten was guter Code ist diametral auseinander gehen.

Unser Chef möchte ein externes Audit durchführen lassen um eine objektive Bewertung über den Delphi Code eines jeden Teammitgliedes zu bekommen.
Ich habe nun den Auftrag gefasst, hierfür einen externen Partner zu finden.

Hat jemand dies schon einmal durchgeführt? Wer bietet das an, wie sind die Kosten?

Danke Euch!


Sherlock 27. Apr 2018 10:27

AW: Unabhängiges Code Audit als Dienstleistung
 
Zitat:

Zitat von jaenicke (Beitrag 1400675)
Zitat:

Zitat von nytaiceman (Beitrag 1400660)
Code Review untereinander funktioniert nur schleppend, da die Ansichten was guter Code ist diametral auseinander gehen.

Es macht aber (wie Uwe schon schrieb) auch wenig Sinn dort Vorgaben extern abzuholen, die dann vielleicht niemandem im Team passen.

Zitat:

Zitat von Larry David
Ein guter Kompromiß ist, wenn alle unzufrieden sind.

Insofern vielleicht gar nicht mal so schlecht, denn dann kann niemand als bevorzugt gelten.

Sherlock

Der schöne Günther 27. Apr 2018 10:55

AW: Unabhängiges Code Audit als Dienstleistung
 
Ich glaube er meint doch weniger Styles in Richtung von Einrücken, Benamung und ähnliches sondern wahrscheinlich um Anwendung von Patterns und Hierarchien und Architektur in der Software allgemein. Wegen Tabs vs. Leerzeichen wird sich ja kein Team dermaßen in dermaßen in die Haare kriegen (denn die Tab-Anhänger werden verdient gewinnen).

Wenn die GF/Abteilungsleiter/wasauchimmer das extern bewerten lassen möchte dann geht es doch wahrscheinlich eher darum herauszufinden ob die Software so in ein paar Jahren mit der Vorgehensweise auch noch von anderen Leuten wartbar ist ohne sich ewig einarbeiten zu müssen und dann erst einmal "unkonventionelle" Dinge umstrickt auf was grade hipp ist.

Einrichtungen wie der TüV haben bei ihren Prüfungen den Fokus wohl eher auf Sicherheitstest und Bewertung der Software anhand von Normen für den Endanwender, aber ich meine die Wartbarkeit und Verständlichkeit der Software kann man bei denen auch bewerten lassen (haben wir nie gemacht, ich meine nur)
https://www.tuev-sued.de/produktprue...twarequalitaet

dummzeuch 27. Apr 2018 19:10

AW: Unabhängiges Code Audit als Dienstleistung
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1400735)
Einrichtungen wie der TüV haben bei ihren Prüfungen den Fokus wohl eher auf Sicherheitstest und Bewertung der Software anhand von Normen für den Endanwender, aber ich meine die Wartbarkeit und Verständlichkeit der Software kann man bei denen auch bewerten lassen (haben wir nie gemacht, ich meine nur)
https://www.tuev-sued.de/produktprue...twarequalitaet

Solche großen Firmen werden einem als erstes sagen, dass man heute nicht mehr in Delphi entwickelt sondern in .. ja was eigentlich? Java ist ja eigenlich schon eher wieder out, aber beim TÜV wird es immernoch sehr stark verwendet. Ob das irgendwie in diesem Zusammenhang sinnvoll ist, wage ich zu bezweifeln. Und selbst, wenn sowas nicht kommt, habe ich Zweifel, dass sie dort Delphi-Entwickler haben.

(Der TÜV Rheinland hat welche, aber die machen keine Reviews sondern entwickeln Software. ;-))

Rollo62 28. Apr 2018 13:36

AW: Unabhängiges Code Audit als Dienstleistung
 
Die müssen doch unabhängig von der Code-Sprache sein,
und werden mehr Code-Struktur bewerten als Code-Zeilen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz