<?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[Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie?]]></title><description><![CDATA[<p>Hallo!</p>
<p>In dem Programm, dass ich zur Zeit finde gibt es eine Memberfunktion einer Klasse, die mittlerweile mehr als 350 Zeilen Code umfasst.</p>
<p>Es ist so viel Code, dass ich selbst schon fast nicht mehr durchblicke. Jetzt weiß ich aber nicht, wie ich diese Funktion auf kleinere Funktionen runterbrechen kann.</p>
<p>Soll ich eine neue Klasse machen und dort eue Funktionen, die ich dann wieder in meiner jetzigen Funktion verwende?</p>
<p>Oder wäre es besser in der .cpp Datei mehrere (kleine) Funktionen zu definieren, die ich dann in meine große Funktion packe?</p>
<p>Oder gibt es noch eine bessere Möglichkeit? Globale Funktionen?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146984/große-unübersichtliche-memberfunktion-auf-mehrere-funktionen-runterbrechen-wie</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 20:31:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146984.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 May 2006 15:40:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 15:40:00 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>In dem Programm, dass ich zur Zeit finde gibt es eine Memberfunktion einer Klasse, die mittlerweile mehr als 350 Zeilen Code umfasst.</p>
<p>Es ist so viel Code, dass ich selbst schon fast nicht mehr durchblicke. Jetzt weiß ich aber nicht, wie ich diese Funktion auf kleinere Funktionen runterbrechen kann.</p>
<p>Soll ich eine neue Klasse machen und dort eue Funktionen, die ich dann wieder in meiner jetzigen Funktion verwende?</p>
<p>Oder wäre es besser in der .cpp Datei mehrere (kleine) Funktionen zu definieren, die ich dann in meine große Funktion packe?</p>
<p>Oder gibt es noch eine bessere Möglichkeit? Globale Funktionen?</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056596</guid><dc:creator><![CDATA[kewlBandit]]></dc:creator><pubDate>Fri, 12 May 2006 15:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 15:49:55 GMT]]></title><description><![CDATA[<p>EDIT:: Sorry Doppelpost</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056603</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Fri, 12 May 2006 15:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 15:49:33 GMT]]></title><description><![CDATA[<p>kewlBandit schrieb:</p>
<blockquote>
<p>Soll ich eine neue Klasse machen und dort eue Funktionen, die ich dann wieder in meiner jetzigen Funktion verwende?</p>
</blockquote>
<p>eher nicht</p>
<p>kewlBandit schrieb:</p>
<blockquote>
<p>Oder wäre es besser in der .cpp Datei mehrere (kleine) Funktionen zu definieren, die ich dann in meine große Funktion packe?</p>
</blockquote>
<p>ich würd es fast so machen^^</p>
<p>kewlBandit schrieb:</p>
<blockquote>
<p>Oder gibt es noch eine bessere Möglichkeit? Globale Funktionen?</p>
</blockquote>
<p>niemals</p>
<pre><code class="language-cpp">void Klasse::KleineFunk1(){
//...
}

void Klasse::KleineFunk2(){
//...
}

void Klasse::GrosseFunk() {
KleineFunc1();
KleineFunc2();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1056605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056605</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Fri, 12 May 2006 15:49:33 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 15:53:41 GMT]]></title><description><![CDATA[<p>grundsätzlich sollte man immer das machen, was einem vernünftig erscheint. wenn neue klassen sinn machen, mach doch welche. wenn nicht, teile in sinnvolle kleine funktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056608</guid><dc:creator><![CDATA[simsam]]></dc:creator><pubDate>Fri, 12 May 2006 15:53:41 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 15:58:21 GMT]]></title><description><![CDATA[<p>Erstmal in kleinere Funktionen aufteilen. Für jede Aufgabe erstellst eine neue Funktion. Wenn die Aufgabe ist, von zwei Werten den größeren weiter zu verwenden -&gt; mach eine eigene Funktion draus (diese spezielle gibt's natürlich schon fertig).</p>
<p>Ob du das dann noch objektorientierter machst, kannst du entscheiden, wenn du fertig bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056612</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 12 May 2006 15:58:21 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 16:10:24 GMT]]></title><description><![CDATA[<p>Eindeutig in kleinere Funktionen bzw. Memberfunktionen aufbrechen. Die Sachen in Klassen verteilen, macht das ganze nicht besser.</p>
<p>Übrigens, das was du machen willst, nennt sich Refactoring. Soll heißen, den Sourcecode bearbeiten/ändern, ohne die eigentliche Funktionalität bzw. Verhalten zu ändern. Und dafür gibt es auch Refactoring Tools, die einem dabei unterstützten. Ein Beispiel:</p>
<pre><code class="language-cpp">void foo()
{
     int x = 0;
     for(int i=0; i&lt;2; i++)
          int y = x + 12;
}
</code></pre>
<p>Sagen wir mal, diese Funktion ist einem zu lang. Dann kann man die for-Schleife in eine andere Funktion auslagern, und bekommt das raus:</p>
<pre><code class="language-cpp">void bar(int x)
{
     for(int i=0; i&lt;2; i++)
         int y = x + 12;
}

void foo()
{
     int x = 0;
     bar(x);
}
</code></pre>
<p>Ein refactoring Tool kann in sofern Abhilfe schaffen, das es z.B. weiß, das bar einen int Parameter benötigt. Als User markiert man nur die for-Schleife und sagt dem Tool, es soll es in eine neue Funktion auslagern. Der bar(x) Aufruf wird dann auch gleich mit vom Tool reingeschrieben.</p>
<p>Bei größeren Projekten ist das hilfreicher als alles von Hand zu machen.</p>
<p>Hier kannste dir auch ein Video anschauen: <a href="http://www.refpp.com/" rel="nofollow">http://www.refpp.com/</a></p>
<p><a href="http://www.slickedit.com/" rel="nofollow">http://www.slickedit.com/</a><br />
<a href="http://xref-tech.com/xrefactory/main.html" rel="nofollow">http://xref-tech.com/xrefactory/main.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056619</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 12 May 2006 16:10:24 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 16:10:40 GMT]]></title><description><![CDATA[<p>Was haltet Ihr davon:</p>
<pre><code class="language-cpp">void kleineFunk1()
{
   ...
}

void kleineFunk2()
{
   ...
}

.
.
.

void Klasse::GroßeFunk1()
{

   KleineFunk1();
   kleineFunk2();

.
.
.

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1056620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056620</guid><dc:creator><![CDATA[kewlBandit]]></dc:creator><pubDate>Fri, 12 May 2006 16:10:40 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 16:36:37 GMT]]></title><description><![CDATA[<p>Im Prinzip schon richtig, aber warum sind die kleinen Funktionen nicht als Klassen-Methoden drin, wie die große? Die zwei kleinen kannst du doch private machen!</p>
<p>1310-Logik hats richtig gemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056633</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 12 May 2006 16:36:37 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 16:54:16 GMT]]></title><description><![CDATA[<p>Ist doch egal, ich tu so kleine helfer auch oft in der cpp in nen anonymen namespace.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056647</guid><dc:creator><![CDATA[Dr. Prof]]></dc:creator><pubDate>Fri, 12 May 2006 16:54:16 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 17:23:02 GMT]]></title><description><![CDATA[<p>Naja, aber wenn sie den Code eines ehemaligen Members unter sich aufteilen, dann sollten sie auch schon was mit der Klasse zu tun haben (auf die privaten Membervariablen zugreifen müssen), also sind sie selbst auch Member.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056669</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 12 May 2006 17:23:02 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 17:32:03 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Naja, aber wenn sie den Code eines ehemaligen Members unter sich aufteilen, dann sollten sie auch schon was mit der Klasse zu tun haben (auf die privaten Membervariablen zugreifen müssen), also sind sie selbst auch Member.</p>
</blockquote>
<p>Muss nicht unbedingt sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056672</guid><dc:creator><![CDATA[Dr. Prof]]></dc:creator><pubDate>Fri, 12 May 2006 17:32:03 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 18:01:52 GMT]]></title><description><![CDATA[<p>Dr. Prof schrieb:</p>
<blockquote>
<p>Ist doch egal, ich tu so kleine helfer auch oft in der cpp in nen anonymen namespace.</p>
</blockquote>
<p>Wenn ich das schön höre: &quot;egal&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Kein Wunder das es mit Deutschland bergab geht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056691</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 12 May 2006 18:01:52 GMT</pubDate></item><item><title><![CDATA[Reply to Große, unübersichtliche memberfunktion auf mehrere Funktionen runterbrechen - Wie? on Fri, 12 May 2006 18:04:17 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Dr. Prof schrieb:</p>
<blockquote>
<p>Ist doch egal, ich tu so kleine helfer auch oft in der cpp in nen anonymen namespace.</p>
</blockquote>
<p>Wenn ich das schön höre: &quot;egal&quot;. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> Kein Wunder das es mit Deutschland bergab geht...</p>
</blockquote>
<p>Danke, du hast mir den Tag gerettet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1056696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1056696</guid><dc:creator><![CDATA[Dr. Prof]]></dc:creator><pubDate>Fri, 12 May 2006 18:04:17 GMT</pubDate></item></channel></rss>