Hallo erstmal,
ich arbeite gerade nebenbei daran, zwei mathematische Programme A und B zusammenzuführen.
Dabei verfolgt A einen neuen, effizienten Ansatz gewisse Zahlen zu berechnen, B ist genereller und zeigt allgemein einen neuen Weg für gewisse Algorithmen, um den Speicher effizienter zu nutzen.
A wurde bereits von mir effizient mit openMP parallelisiert, von 2-12 Kernen skaliert es linear, ebenso von 13-48 Kerne (4x12 core System).
Mathematisch spricht nichts dagegen, A und B zu vereinigen, beide liegen als C Code vor.
Praktisch ist B von einem Mathematiker geschrieben worden, anscheinend ohne auf entsprechende Programmierrichtlinien zu achten.
Ergo beinhaltet B eine größere Zahl von globalen Variablen, kryptische Bitmasks, Pointermagie,...
Dessen Dokumentation beschreibt das Ziel und das generelle Verfahren, leider nicht die konkrete Implementierung, welche zugegebenermaßen allerdings auch nur ein PoC Code ist.
Es handelt sich um grob 1k Zeilen.
Da ich mir ja einrede lernfähig/willig zu sein, wollte ich euch mal nach eurer Meinung fragen.
Wie geht man am besten damit um, gibt es gute Werkzeuge, um das ganze zu visualisieren/nen guten überblick zu bekommen?
Oder soll ich mich weiterhin oldschool mit Papier, Bleistift, Zahnstochern und Mate hinsetzen?
So, oder so, mein Ansatz wäre den Code erstmal umzustrukturieren vorm zusammenführen, aber bisher habe ich mich mit Refactoring nie beschäftigt.
ich arbeite gerade nebenbei daran, zwei mathematische Programme A und B zusammenzuführen.
Dabei verfolgt A einen neuen, effizienten Ansatz gewisse Zahlen zu berechnen, B ist genereller und zeigt allgemein einen neuen Weg für gewisse Algorithmen, um den Speicher effizienter zu nutzen.
A wurde bereits von mir effizient mit openMP parallelisiert, von 2-12 Kernen skaliert es linear, ebenso von 13-48 Kerne (4x12 core System).
Mathematisch spricht nichts dagegen, A und B zu vereinigen, beide liegen als C Code vor.
Praktisch ist B von einem Mathematiker geschrieben worden, anscheinend ohne auf entsprechende Programmierrichtlinien zu achten.
Ergo beinhaltet B eine größere Zahl von globalen Variablen, kryptische Bitmasks, Pointermagie,...
Dessen Dokumentation beschreibt das Ziel und das generelle Verfahren, leider nicht die konkrete Implementierung, welche zugegebenermaßen allerdings auch nur ein PoC Code ist.
Es handelt sich um grob 1k Zeilen.
Da ich mir ja einrede lernfähig/willig zu sein, wollte ich euch mal nach eurer Meinung fragen.
Wie geht man am besten damit um, gibt es gute Werkzeuge, um das ganze zu visualisieren/nen guten überblick zu bekommen?
Oder soll ich mich weiterhin oldschool mit Papier, Bleistift, Zahnstochern und Mate hinsetzen?
So, oder so, mein Ansatz wäre den Code erstmal umzustrukturieren vorm zusammenführen, aber bisher habe ich mich mit Refactoring nie beschäftigt.