<?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[Guter Programmierstil?]]></title><description><![CDATA[<p>Hi, prgrammiere haupsächlich prozedural in C mit der Winapi und muss gestehen:<br />
Sobal ein Programm etwas länger wird, wirds nur noch unübersichtlich und kompliziert.<br />
Ich wollte mal fragen, obs irgendwo ein paar Tipps gibt, wie man den Quelltext übersichtlicher machen kann, wie man am Besten Variablen nennt, welche Variablen man global macht, welche nicht usw.<br />
Danke für jeden Tip!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203807/guter-programmierstil</link><generator>RSS for Node</generator><lastBuildDate>Sun, 28 Jun 2026 18:56:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203807.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Jan 2008 18:29:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Guter Programmierstil? on Sat, 26 Jan 2008 18:29:20 GMT]]></title><description><![CDATA[<p>Hi, prgrammiere haupsächlich prozedural in C mit der Winapi und muss gestehen:<br />
Sobal ein Programm etwas länger wird, wirds nur noch unübersichtlich und kompliziert.<br />
Ich wollte mal fragen, obs irgendwo ein paar Tipps gibt, wie man den Quelltext übersichtlicher machen kann, wie man am Besten Variablen nennt, welche Variablen man global macht, welche nicht usw.<br />
Danke für jeden Tip!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444142</guid><dc:creator><![CDATA[Frickler]]></dc:creator><pubDate>Sat, 26 Jan 2008 18:29:20 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sat, 26 Jan 2008 18:35:51 GMT]]></title><description><![CDATA[<p>OOP sorg normal für übersichtlichen Quellcode, wenn man es einigermaßen kann.</p>
<p>Global macht man am besten keine Variablen.</p>
<p><em>Irgendwer hat immer eine Antwort</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444146</guid><dc:creator><![CDATA[irgendwer]]></dc:creator><pubDate>Sat, 26 Jan 2008 18:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sat, 26 Jan 2008 21:20:54 GMT]]></title><description><![CDATA[<ol>
<li>Global macht man am besten garnix</li>
<li>Variablen nennt man so dass man anhand des Namens und mit minimalen kenntnissten der Domäne oder des speziellen Programms weiss was sie beinhalten</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1444222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444222</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 26 Jan 2008 21:20:54 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sat, 26 Jan 2008 22:52:17 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<ol start="2">
<li>Variablen nennt man so dass man anhand des Namens und mit minimalen kenntnissten der Domäne oder des speziellen Programms weiss was sie beinhalten</li>
</ol>
</blockquote>
<p>Weil's noch keiner gesagt hat: Funktionen und Klassen sollte man auch so benennen (also aussagekräftig genug aber nicht zu lang).</p>
<p>Was den Weg dahin betrifft: Stöber öfter mal hier im Forum herum, tausche dich aus, veröffentliche Code und ernte Kritik und Übung macht den Meister <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/1444249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444249</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 26 Jan 2008 22:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sat, 26 Jan 2008 23:32:29 GMT]]></title><description><![CDATA[<p>Benutze die ungarische Notation und Design wie in der WinAPI, dann behälst du den Überblick (die WinAPI ist ja rießig, d.h. die Entwickler wissen schon wie man so ein rießiges Projekt in C übersichtlich gestaltet).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444256</guid><dc:creator><![CDATA[Simmers]]></dc:creator><pubDate>Sat, 26 Jan 2008 23:32:29 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 04:06:27 GMT]]></title><description><![CDATA[<p>Simmers schrieb:</p>
<blockquote>
<p>Benutze die ungarische Notation und Design wie in der WinAPI, dann behälst du den Überblick (die WinAPI ist ja rießig, d.h. die Entwickler wissen schon wie man so ein rießiges Projekt in C übersichtlich gestaltet).</p>
</blockquote>
<p>das soll wohl ein 153 Seiten Thread werden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444302</guid><dc:creator><![CDATA[Erkenner]]></dc:creator><pubDate>Sun, 27 Jan 2008 04:06:27 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 08:38:21 GMT]]></title><description><![CDATA[<p>Simmers schrieb:</p>
<blockquote>
<p>d.h. die Entwickler wissen schon wie man so ein rießiges Projekt in C übersichtlich gestaltet</p>
</blockquote>
<p>ja, gar nicht. Die WinAPI ist alles andere als übersichtlich.</p>
<p>Wenn die WinAPI so geil designed wäre... Warum wurde sie dann nicht konsequent weiterentwicklet? Warum haben wir keine WinAPI 2.0, 3.0 etc gesehen?</p>
<p>Ich denke eher das die WinAPI ein einziges Chaos ist softwaretechnisch und sich daher keiner bei MS mehr da rantraut. Zu groß, um es from Scratch neu zu schreiben, zu chaotisch um es weiterzuentwicklen. Also werden immer neue Wrapper um WinAPI herumgebaut. (Mfc, Forms etc)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444317</guid><dc:creator><![CDATA[loks]]></dc:creator><pubDate>Sun, 27 Jan 2008 08:38:21 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 09:00:42 GMT]]></title><description><![CDATA[<p>loks schrieb:</p>
<blockquote>
<p>Ich denke eher das die WinAPI ein einziges Chaos ist softwaretechnisch und sich daher keiner bei MS mehr da rantraut. Zu groß, um es from Scratch neu zu schreiben, zu chaotisch um es weiterzuentwicklen.</p>
</blockquote>
<p>Genau. Die WinAPI wurde für Vista auch garnicht weiterentwickelt, weil die sich da ja nicht ran trauen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Wie willst du die bitte neu schreiben? Tausende von Programmen bauen darauf auf und würden nicht mehr Funktionieren, wenn du die WinAPI änderst.</p>
<p>Aber ein Designvorbild ist sie trotzdem nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444319</guid><dc:creator><![CDATA[pfollprovi]]></dc:creator><pubDate>Sun, 27 Jan 2008 09:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 09:17:39 GMT]]></title><description><![CDATA[<p>pfollprovi schrieb:</p>
<blockquote>
<p>Aber ein Designvorbild ist sie trotzdem nicht.</p>
</blockquote>
<p>was würdet ihr denn anders machen?<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/1444321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444321</guid><dc:creator><![CDATA[winapi-fan]]></dc:creator><pubDate>Sun, 27 Jan 2008 09:17:39 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 10:48:53 GMT]]></title><description><![CDATA[<p>winapi-fan schrieb:</p>
<blockquote>
<p>pfollprovi schrieb:</p>
<blockquote>
<p>Aber ein Designvorbild ist sie trotzdem nicht.</p>
</blockquote>
<p>was würdet ihr denn anders machen?<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>alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> die winapi ist grausam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444376</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sun, 27 Jan 2008 10:48:53 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 10:52:36 GMT]]></title><description><![CDATA[<p>thordk schrieb:</p>
<blockquote>
<p>alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> die winapi ist grausam</p>
</blockquote>
<p>das sagen viele. aber was er konkret verbessern würde, weiss keiner.<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/1444378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444378</guid><dc:creator><![CDATA[kernel32.dll-freak]]></dc:creator><pubDate>Sun, 27 Jan 2008 10:52:36 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 11:03:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>kernel32.dll-freak schrieb:</p>
<blockquote>
<p>thordk schrieb:</p>
<blockquote>
<p>alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> die winapi ist grausam</p>
</blockquote>
<p>das sagen viele. aber was er konkret verbessern würde, weiss keiner.<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>Zum Beispiel die Benennung.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444383</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 11:11:06 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Zum Beispiel die Benennung.</p>
</blockquote>
<p>ja? und wie?<br />
zeig's dich mal an hand eines beispiels.<br />
nehmen wir zum beispiel CreateProcess: <a href="http://msdn2.microsoft.com/en-us/library/ms682425(VS.85).aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms682425(VS.85).aspx</a><br />
deine vorschläge bitte...<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/1444388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444388</guid><dc:creator><![CDATA[refactoring-freak]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:11:06 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 11:14:38 GMT]]></title><description><![CDATA[<p>kernel32.dll-freak schrieb:</p>
<blockquote>
<p>thordk schrieb:</p>
<blockquote>
<p>alles <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> die winapi ist grausam</p>
</blockquote>
<p>das sagen viele. aber was er konkret verbessern würde, weiss keiner.<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>* Kleine spezifische Funktionen mit wenig Parametern schreiben.<br />
* Eindeutige und verständliche Namen wählen.<br />
* typedef gegenüber #define vorziehen.<br />
* Wenn schon C, dann wenigstens Pseudo-Namespaces, wenn man eine Bibliothek schreibt.<br />
* Kleine spezifische Header im Gegensatz zu einem großen Blob-Header.<br />
* Die Einbindung von Headern sollte unabhängig von der Reihenfolge funktionieren.<br />
* Auf Compiler-Extensions verzichten und sich so weit es geht an den Standard halten.</p>
<p>btw.<br />
<a href="http://www.tilander.org/aurora/2008/01/include-windowsh.html" rel="nofollow">http://www.tilander.org/aurora/2008/01/include-windowsh.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444391</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 11:20:51 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>refactoring-freak schrieb:</p>
<blockquote>
<p>chrische5 schrieb:</p>
<blockquote>
<p>Zum Beispiel die Benennung.</p>
</blockquote>
<p>ja? und wie?<br />
zeig's dich mal an hand eines beispiels.<br />
nehmen wir zum beispiel CreateProcess: <a href="http://msdn2.microsoft.com/en-us/library/ms682425(VS.85).aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms682425(VS.85).aspx</a><br />
deine vorschläge bitte...<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>Weg mit der UN. da gibt es aber wirklich 1000m Threads zu, also lass uns keinen neuen starten.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444402</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 11:39:13 GMT]]></title><description><![CDATA[<p>chrische5 schrieb:</p>
<blockquote>
<p>Weg mit der UN.</p>
</blockquote>
<p>einverstanden. das ist wirklich doof.</p>
<p>@rüdi</p>
<blockquote>
<p>* Kleine spezifische Funktionen mit wenig Parametern schreiben.</p>
</blockquote>
<p>macht man am anfang so. später stellt sich heraus, dass man immer wieder 5 dieser funktionen in der selben reihenfolge aufrufen muss. also macht man sich eine grosse, die u.u. auch mehr parameter hat.</p>
<blockquote>
<p>* Auf Compiler-Extensions verzichten und sich so weit es geht an den Standard halten.</p>
</blockquote>
<p>ist bei plattformabhängigem code wie winapi nicht wichtig.</p>
<blockquote>
<p>* Kleine spezifische Header im Gegensatz zu einem großen Blob-Header.</p>
</blockquote>
<p>so'n blob-header ist unglaublich praktisch, wenn man code schreiben will, der zugriff auf alles hat. ansonsten müsste man jedes source-file mit 50 #includes beginnen.</p>
<blockquote>
<p>* typedef gegenüber #define vorziehen.</p>
</blockquote>
<p>geht aber nur für typen, sonst kann typedef #define nicht ersetzen.</p>
<blockquote>
<p>* Eindeutige und verständliche Namen wählen.</p>
</blockquote>
<p>da stimme ich dir zu, aber die namen der winapi-funktionen sind im grossen und ganzen gar nicht so schlecht, ausser dass etwas mehr prefixe angebraucht wären.<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/1444414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444414</guid><dc:creator><![CDATA[windows-freak]]></dc:creator><pubDate>Sun, 27 Jan 2008 11:39:13 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 13:01:45 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p><a href="http://www.tilander.org/aurora/2008/01/include-windowsh.html" rel="nofollow">http://www.tilander.org/aurora/2008/01/include-windowsh.html</a></p>
</blockquote>
<pre><code class="language-cpp">#define small char
#define far
#define near
</code></pre>
<p>Das ist guter Codestil <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
<em>Vorsicht: dieser Beitrag enthaelt Ironie.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444474</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sun, 27 Jan 2008 13:01:45 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 13:59:14 GMT]]></title><description><![CDATA[<p>Zumindest für far und near gibt es keine Alternative.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444508</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sun, 27 Jan 2008 13:59:14 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 21:05:10 GMT]]></title><description><![CDATA[<p>Diese großen Funktionen der WinAPI sind oftmals sehr mühsam in der Verwendung, aber die WinAPI ist die Schnittstelle zum System, sie muss nicht nur die 99% der Anforderungen abdecken sondern nahezu 100%, also auch Randfälle und deshalb sind die Funktionen so flexibel gehalten.<br />
Die WinAPI hat viele Altlasten das wird keiner Bestreiten, aber einfach neuschreiben ist nicht möglich, zumindest nicht bei der Windows-Philosophie (Abwärtskompatibilität).</p>
<p>Viele der Defines müssten wirklich nicht sein, aber auch da muss man bedenken wie lange es die WinAPI schon gibt.</p>
<p>Das Design selbst finde ich für C sehr gelungen, da die WinAPI eine objektbasierten Ansatz verfolgt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444739</guid><dc:creator><![CDATA[lolz_ausgeloggt]]></dc:creator><pubDate>Sun, 27 Jan 2008 21:05:10 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 21:13:26 GMT]]></title><description><![CDATA[<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>Das Design selbst finde ich für C sehr gelungen, da die WinAPI eine objektbasierten Ansatz verfolgt.</p>
</blockquote>
<p>das ganze OS ist objektbasiert. man denke nur mal an die 'handles', die nichts anderes sind als objektreferenzen.<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/1444743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444743</guid><dc:creator><![CDATA[OO-freak]]></dc:creator><pubDate>Sun, 27 Jan 2008 21:13:26 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 21:55:19 GMT]]></title><description><![CDATA[<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>Diese großen Funktionen der WinAPI sind oftmals sehr mühsam in der Verwendung, aber die WinAPI ist die Schnittstelle zum System, sie muss nicht nur die 99% der Anforderungen abdecken sondern nahezu 100%, also auch Randfälle und deshalb sind die Funktionen so flexibel gehalten.</p>
</blockquote>
<p>diese flexibilität kann man auf zwei weisen erreichen. die variante, wie sie etwa in der win32-api gewählt wurde, nämlich abgeschlossene funktionen zu schaffen, die über alle möglichen und nötigen parameter gefüttert werden oder wie es bspw in posix getan wurde, eine interaktion zwischen den einzelnen funktionen zu ermöglichen und so die einzelnen funktionen überschaubar zu halten.<br />
das hier schon erwähnte CreateProcess vs. fork+anhang ist aus meiner sicht der klassische unterschied zwischen ansätze. CreateProcess kann schlicht alles und man muss auch alles machen (und wenn es nur ist, zu sagen, dass es doch bitte genauso haben will, wie bisher.). fork kann eigentlich erstmal nicht viel. man kann dann aber die dinge, die einen in dem speziellen fall tatsächlich interessieren sehr einfach nach dem fork lösen und muss auch nur das machen, was einen interessiert.<br />
ich denke, die posix-variante zur prozesserzeugung ist günstiger, da sie die normalen anwendungsfälle erleichtert, die etwas seltsameren nicht unmöglich macht und vor allem flexibel angepasst werden kann (bald vierzig jahre die gleiche grund-api, aber immer sinnvoll angepasst worden...).</p>
<p>lolz_ausgeloggt schrieb:</p>
<blockquote>
<p>Viele der Defines müssten wirklich nicht sein, aber auch da muss man bedenken wie lange es die WinAPI schon gibt.</p>
</blockquote>
<p>man kann defines auch so wählen, dass sie einem nicht ständig auf die füße fallen. siehe posix und dessen ursprünge sind _deutlich_ älter...</p>
<p>edit: bevor jemand schreit: ich weiß, dass die winapi deutlich umfangreicher ist als posix. ich habe nur jetzt posix verwendet, um mal zu zeigen, dass sauberes design auch nach jahren noch ohne große nebenwirkungen und altlasten leben kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444754</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Sun, 27 Jan 2008 21:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Sun, 27 Jan 2008 23:54:30 GMT]]></title><description><![CDATA[<p>Mich stören bei der WinAPI z.B. Dinge die &quot;mal so mal so&quot; gehandhabt werden. Manche Funktionen die ein HANDLE zurückgeben verwenden 0 als &quot;Fehlerwert&quot; (z.B. CreateMutex), andere wieder INVALID_HANDLE_VALUE (z.B. CreateFile). Oder Funktionen die ein HANDLE zurückliefern welches zwar &quot;HANDLE&quot; heisst aber nicht mit CloseHandle sondern z.B. mit FindClose zuzumachen ist.</p>
<p>Was auch lästig ist sind diverse structs die in bestimmten Windows Versionen erweitert wurden, von denen es aber nur eine Version in windows.h gibt. z.B. RASDIALPARAMS - wenn man WINVER &gt;= 0x401 definiert bekommt man eine Version, bei WINVER &lt; 0x401 eine andere. Beide heissen aber RASDIALPARAMS - da wäre es praktischer einfach eine RASDIALPARAMS_EX oder ähnliches zu haben.</p>
<p>Oder die ganzen Funktionen die einen Zeiger auf einen Puffer + die Länge des Puffers als Parameter nehmen, allerdings nur &quot;puffer zu klein&quot; als Fehler zurückliefern. Das zwingt einen häufig dazu retry-loops zu basteln die die Puffergrösse dann immer schön verdoppeln und nochmal probieren - sehr sehr lästig. Hier wäre es IMO vernünftiger entweder gleich das OS den Puffer anfordern zu lassen, oder wenigstens die Funktion so zu machen dass man die nötige Grösse des Puffers irgendwie rausbekommt ohne rumzuprobieren.</p>
<p>Und natürlich die ganzen defines als #define LoadImage LoadImageA. Wenn man selbst &quot;Pascal Case&quot; für seine Funktionen verwendet bekommt man da auch recht schnell Probleme; vor allem wenn man Libs/DLLs bastelt die solche Namen enthalten, und von Programmen verwendet werden können, unabhängig davon ob das Programm mit MBCS oder UNICODE compiliert wurde. Dann muss man entweder #undef verwenden, oder seine eigene Funktion namens &quot;LoadImage&quot; irgendwie umbenennen.</p>
<p>windows-freak schrieb:</p>
<blockquote>
<blockquote>
<p>* Auf Compiler-Extensions verzichten und sich so weit es geht an den Standard halten.</p>
</blockquote>
<p>ist bei plattformabhängigem code wie winapi nicht wichtig.</p>
</blockquote>
<p>Naja, das sehe ich etwas anders. Genau das zwingt Compiler-Hersteller wie Intel dazu selbst die gleichen beknackten Compiler-Extensions zu implementieren wie sie im MSVC drinnen sind, bzw. führt dazu dass der MinGW Port des gcc eigene Headers mitliefern muss. Genau das führt auch dazu dass man windows.h nichtmehr inkludieren kann sobald man beim MSVC die Extensions ausschaltet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1444787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444787</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 27 Jan 2008 23:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to Guter Programmierstil? on Mon, 28 Jan 2008 09:14:35 GMT]]></title><description><![CDATA[<p>hustenbär, gute kritkpunkte^^<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/1444864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1444864</guid><dc:creator><![CDATA[bären-fan]]></dc:creator><pubDate>Mon, 28 Jan 2008 09:14:35 GMT</pubDate></item></channel></rss>