Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Tobiking

1x Rätselkönig

  • Private Nachricht senden

11

16.07.2015, 20:32

Eine automatisch generierte Doku ist halt auch nicht ohne Aufwand. Die Kommentare, die man während der Entwicklung an eine Funktion klatscht, reichen halt nicht annähernd dafür aus eine gute Beschreibung zu sein. Das heißt allerdings nicht das es nicht möglich ist. Man muss sich dann halt nochmal extra darum kümmern. SFML und QT sind zwei Projekte die mir einfallen, die zum Teil eine echt gute generierte Doku haben. Dort sind auch Diagramme, Codebeispiele etc. enthalten. Es ändert vom Aufwand wenig ob man es in den Code schreibt oder in ein extra Dokument.

Ansonsten gibt es halt wie üblich Vor- und Nachteile für beide Seiten. Doku nah am Code hat den Vorteil das sie an die Version gebunden ist und zum Teil auch Refactorings überleben kann bzw. auch schnell mit angepasst werden kann. Im Gegenzug ist es unglaublich hässlich Diagramme, Bilder etc. in Kommentaren unterzubringen. In einem extra Dokument ist es allgemein leichter zu schreiben und übersichtlicher, dafür kann es aber mal schnell veralten und es gibt Bereiche die man vermutlich gar nicht explizit dokumentiert, die automatisch generiert zumindest rudimentär drin wären.

Evrey

Treue Seele

Beiträge: 245

Beruf: Weltherrscher

  • Private Nachricht senden

12

16.07.2015, 22:39

dot, erzähl das mal den WINE-Entwicklern, die sich an undokumentierten Stellen des WinAPIs & Co. seit jeher die Zähne ausbeißen. Oder lies dir mal den Quellcode der STL durch, um die C++-StdLib zu erlernen. Der Quellcode verrät dir ja von sich aus sehr geschickt, wie sich das API z.B. bei Exceptions verhält.

C-/C++-Quelltext

1
2
3
4
int main(int _argc, char** _argv) noexcept {
  asm volatile("lock cmpxchg8b %eax");
  return 0;
} // ::main
(Dieses kleine Biest vermochte einst x86-Prozessoren lahm zu legen.)

=> Und er blogt unter Hackish.Codes D:

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

17.07.2015, 00:31

dot, erzähl das mal den WINE-Entwicklern, die sich an undokumentierten Stellen des WinAPIs & Co. seit jeher die Zähne ausbeißen. Oder lies dir mal den Quellcode der STL durch, um die C++-StdLib zu erlernen. Der Quellcode verrät dir ja von sich aus sehr geschickt, wie sich das API z.B. bei Exceptions verhält.

Was genau willst du damit sagen? Die "undokumentierten Stellen der WinAPI", die du da wohl meinst, sind nicht Teil der WinAPI. Das Problem ist, dass es soviel kaputten Code gibt, der vom undokumentierten Verhalten irgendeiner konkreten Windowsversion abhängt (man schaue sich allein z.B. die Geschichte des System32 Ordners an), dass dieses Verhalten unter extrem viel Aufwand aufrecht erhalten wird, damit die kaputte Software weiter laufen kann, obwohl sie kaputt ist. Dass die WINE-Entwickler ebenfalls Software supporten wollen, die schon auf Windows eigentlich nie hätte laufen sollen, ist ihr Problem. Dieses Verhalten zu dokumentieren wäre nicht zielführend, da man dieses Verhalten, das von vorn herein niemals Teil des Interface hätte sein sollen, damit in die API aufnehmen würde und verbindlich weiter supporten müsste. Windows ist mit der MSDN vermutlich das mit Abstand am besten dokumentierte Stück Software, das du irgendwo finden wirst; die STL Spezifikation findest du im C++ Standard und ihr Detailgrad ist bemerkenswert...

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (17.07.2015, 00:42)


DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

14

17.07.2015, 08:40

Tja faktisch will man mit Wine aber Windows Software zum laufen bringen. Also müssen auch die kaputten Stellen lauffähig sein.

Werbeanzeige