<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Imperativen Code in Klassen umschreiben ?]]></title><description><![CDATA[<p>Hallo, ich habe ein Projekt das ich früher mal erstellt habe, nur leider ist der Code nicht Objekt Orientiert, eher Imperativ, schritt für schritt, eher im C Stil.<br />
Nun möchte ich diesen Code in Klassen schreiben bzw. auslagern, könnt ihr mir paar Tipps geben wie man sowas strukturiert??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224854/imperativen-code-in-klassen-umschreiben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 23:16:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224854.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Oct 2008 20:27:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Wed, 15 Oct 2008 20:29:33 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Projekt das ich früher mal erstellt habe, nur leider ist der Code nicht Objekt Orientiert, eher Imperativ, schritt für schritt, eher im C Stil.<br />
Nun möchte ich diesen Code in Klassen schreiben bzw. auslagern, könnt ihr mir paar Tipps geben wie man sowas strukturiert??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1599630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1599630</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 15 Oct 2008 20:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Wed, 15 Oct 2008 20:32:28 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>besser ist es nicht den Code durchzugehen und versuchen daraus OO zu machen, sondern die bewusst werden, was das Programm im einzelnen genau machen soll.</p>
<p>D.h. neuplanen und dann deinen &quot;C-Code&quot; <em>ggf.</em> als implementation einbauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1599634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1599634</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 15 Oct 2008 20:32:28 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Wed, 15 Oct 2008 20:39:36 GMT]]></title><description><![CDATA[<p>Versuch am besten, zu überlegen, welche Klassen das Projekt benötigt und bau von Grund auf ein objektorientiertes Design auf. Dann kannst du Schritt für Schritt Code, der in den Funktionen stand, in die Klassen einbauen.</p>
<p>Aber das wird eine recht mühsame und langwierige Arbeit werden. Du musst dir überlegen, ob sich das lohnt. Vor allem musst du den Code auch so anpassen, dass es mit den Scopes, Modulen (Header-/Implementierung getrennt), Speicherklassen etc. aufgeht und nicht einfach alles global ist. Also plane vorher eine ausführliche Konzeption, sonst wirst du relativ schnell an den Punkt kommen, wo du nicht mehr weiter weisst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1599636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1599636</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 15 Oct 2008 20:39:36 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Wed, 15 Oct 2008 23:27:01 GMT]]></title><description><![CDATA[<p>Objektorientiert und Imperativ sind 2 Konzepte die sich IMO nicht widersprechen.<br />
Meinst du Prozedural?</p>
<p>Eine gute Möglichkeit wäre denke ich:</p>
<ol>
<li>
<p>Ganz unten anfangen und erstmal Klassen rausfaktorisieren, solange bis da nixmehr ist was &quot;eine Klasse sein sollte&quot;</p>
</li>
<li>
<p>Den ganzen Code durchgehen und typische C-Dinge (strxxx Funktionen, printf, FILE*, Arrays) durch die entsprechenden C++-Dinge zu ersetzen (std::string, streams, container). Hier räumst du auch mit Dingen auf wie Callback Funktionen, void*, C-Style-Casts, Error-Codes etc.</p>
</li>
<li>
<p>Den ganzen Code durchgehen und gucken wo du diverse Patterns anwenden könntest um den bestehenden Code zu vereinfachen.</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1599677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1599677</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 15 Oct 2008 23:27:01 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Thu, 16 Oct 2008 20:30:58 GMT]]></title><description><![CDATA[<p>Ich möchte gerne das Konzept mit den Namespaces von .NET in der Art verwenden. Werde nun mir Gedanken machen welcher Code in bestimmten Namespaces eingebunden wird. Beispiel ich habe mehrere Namespaces mit den jeweiligen Klassen/Funktionen;</p>
<pre><code>System.Information.User //Auslesen Benutzer Informationen
System.Status;  //Gibt den Zustand der Systems aus
...
</code></pre>
<p>Ich entwerfe erstmal die Struktur der Namespaces, damit kann man einfacher und zielgerichteter zugreifen.</p>
<p>Was meint Ihr, wie sieht es mit den verschachtelten Namespaces aus, wird die Datei nicht zu unübersichtlich je mehr Namespaces vorhanden sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1600146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1600146</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Thu, 16 Oct 2008 20:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Thu, 16 Oct 2008 21:26:50 GMT]]></title><description><![CDATA[<p>Welche Datei?<br />
In einer .hpp/.cpp Datei Klassen/Funktionen in mehreren verschiedenen Namespaces zu definieren/implementieren halte ich für keine gute Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1600173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1600173</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 16 Oct 2008 21:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Thu, 16 Oct 2008 22:27:00 GMT]]></title><description><![CDATA[<p>kernel64 schrieb:</p>
<blockquote>
<p>Hallo, ich habe ein Projekt das ich früher mal erstellt habe, nur leider ist der Code nicht Objekt Orientiert, eher Imperativ, schritt für schritt, eher im C Stil. Nun möchte ich diesen Code in Klassen schreiben bzw. auslagern, könnt ihr mir paar Tipps geben wie man sowas strukturiert??</p>
</blockquote>
<p>erstmal solltest du dir überlegen, in wie fern ein objektorientiertes design dir zum vorteil gereichen könnte. dir sollte klar sein, dass die meisten codes probleme aus der realen welt lösen sollen und kein selbstzweck sind. lässt sich das problem am besten objektorientiert modellieren, dann ist ein objektorientiertes program wahrscheinlich eine gute wahl. wird dagegen die objektorientierte analyse schwierig, dann ist womöglich ein anderer ansatz erfolgversprechender. die frage sollte sein, wie zufrieden oder unzufrieden du mit dem bisherige resultat bist und was ein oo-design verbessern könnte. einem funktionierenden programm ein zwanghaftes oo-korsett zu verpassen ist nur zeitraubendes 'verschlimmbessern'.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<ol start="2">
<li>Den ganzen Code durchgehen und typische C-Dinge (strxxx Funktionen, printf, FILE*, Arrays) durch die entsprechenden C++-Dinge zu ersetzen (std::string, streams, container). Hier räumst du auch mit Dingen auf wie Callback Funktionen, void*, C-Style-Casts, Error-Codes etc.</li>
</ol>
</blockquote>
<p>und 'mature code', der womöglich schon einige bugfixes hinter sich hat, gegen neue macken austauschen? echt noobish, ey. so'ne antwort hätt ich von dir nie erwartet.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1600180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1600180</guid><dc:creator><![CDATA[~fricky]]></dc:creator><pubDate>Thu, 16 Oct 2008 22:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Fri, 17 Oct 2008 07:45:34 GMT]]></title><description><![CDATA[<p>Ich muss frickel in diesem Fall mal zustimmen. Wenn es sich um ein sauber laufendes Projekt handelt, solltest Du Dir wirklich gut überlegen, ob es sinnvoll ist, den Code überhaupt umzuschreiben. Das gilt insbesondere, wenn sich an der Funktionalität gar nichts ändert.<br />
Soll das Projekt aber z.B. irgendwie flexibler werden bzw. sollen viele Erweiterungen hinzugefügt werden, dann macht es schon mehr sinn, sich darüber gedanken zu machen, ob man ggf. alles über Bord wirft, und neu implementiert.<br />
Soll das ganze jedoch nur in einem objektorientierten Gewand daher kommen, macht es wenig Sinn, alles neuzuschreiben. Wenn es sich um ein API handelt, könnte man sich evtl. Gedanken darüber machen, ob man nicht einen OO-Wrapper um die Funktionen/Typen herumbaut, um die Benutzung zu vereinfachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1600245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1600245</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 17 Oct 2008 07:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to Imperativen Code in Klassen umschreiben ? on Fri, 17 Oct 2008 13:07:16 GMT]]></title><description><![CDATA[<p>~fricky schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<ol start="2">
<li>Den ganzen Code durchgehen und typische C-Dinge (strxxx Funktionen, printf, FILE*, Arrays) durch die entsprechenden C++-Dinge zu ersetzen (std::string, streams, container). Hier räumst du auch mit Dingen auf wie Callback Funktionen, void*, C-Style-Casts, Error-Codes etc.</li>
</ol>
</blockquote>
<p>und 'mature code', der womöglich schon einige bugfixes hinter sich hat, gegen neue macken austauschen? echt noobish, ey. so'ne antwort hätt ich von dir nie erwartet.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Wenn man das Programm schon angreift, wieso nicht?<br />
Dass bei einem gröberen Umbau viel gehobelt wird und auch ein paar Späne fallen werden ist ja wohl zu erwarten.<br />
Wenn ich den ganzen &quot;C-Scheiss&quot; drinlassen will, wieso dann überhaupt was ändern. Gerade die ganzen String-Funktionen, Container, Algorithmen etc. von C++ sind es doch die es einem erleichtern korrekten, fehlerarmen Code zu schreiben. Wenn ich das Projekt in Zukunft noch warten muss dann zahlt es sich schnell aus mal ein paar neue Bugs beim Umbau zu riskieren, denn dafür kann ich später viel einfacher und effektiver (weniger Fehler) arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1600420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1600420</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 17 Oct 2008 13:07:16 GMT</pubDate></item></channel></rss>