====== Qualität von Software ======
* [[wpde>Softwarequalität]]
* [[wpde>Code-Qualität]]
* {{https://www.verifysoft.com/de_cmtpp_mscoder.pdf|Komplexität und Qualität von Software}} [(https://web.archive.org/web/20190723123312/https://www.verifysoft.com/de_cmtpp_mscoder.pdf)]
===== Kriterien =====
* [[Fehlerfreiheit]]
* [[wpde>Zuverlässigkeit]]
* [[wpde>Reliability|Reliabilität]]
* [[wpde>Wartbarkeit]] [[http://meiert.com/de/publications/articles/20090907/|Einführung in Wartbarkeit]]
* [[wpde>Plattformunabhängigkeit|Portierbarkeit]]
===== Programmierstil =====
* [[wpde>Programmierstil]]
* [[wpde>Quelltextformatierung]]
* [[wpde>Clean Code]]\\ www.clean-code-developer.de\\ [[http://ganz-sicher.net/blog/programmierung-scripting/programmierung-clean-code-tipps/|Programmierung - Clean Code Tipps]]
* [[wpde>Code-Duplizierung]]
* [[wpde>Einrückungsstil]]
* [[wpde>Programmierparadigma]]
* [[wpde>Entwurfsmuster]]
* [[wpde>Anti-Pattern]]
* [[https://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code--net-8118|Top 15+ Best Practices for Writing Super Readable Code]] [(https://web.archive.org/web/20190824193212/https://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code--net-8118)]
==== Verdächtiger Code ====
* [[wpde>Smell_(Programmierung)|Code-Smell]]
* [[http://www.empros.ch/vielfach/faustregeln/502149936a0f4bb0f/codesmell.php|Code Smells]]
* {{https://www.mathematik.uni-marburg.de/~swt/ss13/sq/files/Folien130522.pdf|Bad Code Smells}} [(https://web.archive.org/web/20190824134006/https://www.mathematik.uni-marburg.de/~swt/ss13/sq/files/Folien130522.pdf)]
* [[soft:prog:Lint]]
==== Prinzipien ====
* [[wpde>Software Craftsmanship]]
* [[wpde>Unix-Philosophie]]
* [[wpde>Principle of Least Surprise|POLS, engl. ''Principle of Least Surprise'']], dt. //„Prinzip der geringsten Überraschung“'' oder auch ''„Prinzip der geringsten Verwunderung“//
* [[wpde>DRY|DRY, engl. ''Don’t Repeat Yourself'']], dt. //„Wiederhole dich nicht“//
* [[wpde>YAGNI|YAGNI, engl. ''You Ain’t Gonna Need It'']], dt. //„Du wirst es nicht brauchen“//
* [[wpde>KISS-Prinzip|KISS, engl. ''Keep it small and simple'' ]], dt. //„Gestalte es klein und einfach“//
* [[wpde>Single_Responsibility_Principle|SRP, engl. ''Single Responsibility Principle'']], dt. //„Eine-Verantwortlichkeit-Prinzip“//
* [[wpde>Konvention vor Konfiguration|CoC, engl. ''Convention over Configuration'']], dt. //„Konvention vor Konfiguration“//
* [[wpde>Law of Demeter|LoD, engl. ''Law of Demeter'']], dt. //„Gesetz von Demeter“//, beschreibt das //„Prinzip der Verschwiegenheit“//
==== Begriffe ====
* [[wpde>Yoda Conditions]]
* [[wpde>Ungarische Notation]]
==== Lesenswert ====
* [[http://www.heise.de/developer/artikel/Clean-Code-1137811.html|Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code]] -- //Robert C. Martin//
* [[http://www.heise.de/developer/artikel/The-Art-of-Readable-Code-1664655.html|The Art of Readable Code]] -- //Dustin Boswell, Trevor Foucher//
* [[http://www.dreamingincode.com|Dreaming in Code - Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software sets out to understand why, through the story of one software project.]] -- //Mitch Kapor's Chandler//
* [[http://www.whyprogramsfail.com/|Why Programs Fail - A Guide to Systematic Debugging]] -- //[[http://www.st.cs.uni-sb.de/~zeller/|Andreas Zeller]], professor at [[http://www.st.cs.uni-sb.de/|Saarland University]], 2006//
=== Diskussion ===
* [[https://www.mikrocontroller.net/topic/132304|Tutorial für _sauberen_ C-Code]] [(https://web.archive.org/web/20190824193912/https://www.mikrocontroller.net/topic/132304)] -- www.mikrocontroller.net
* www.dwheeler.com -- David A. Wheeler’s Personal Home Page
===== Entwicklungsprozesse =====
* [[wp>Software development process]]
* [[wpde>Vorgehensmodell zur Softwareentwicklung]]
* [[wpde>Agile Softwareentwicklung]]
* [[wpde>Extreme Programming]]
* [[wpde>Testgetriebene Entwicklung]]
* [[https://www.heise.de/developer/artikel/Die-Perversion-agiler-Metaphern-4466436.html|Die Perversion agiler Metaphern]]
==== Refactoring ====
* [[wpde>Refactoring]]
* https://sourcemaking.com/refactoring
* www.refactoring.com -- Refactoring Home
* [[http://www.ssw.uni-linz.ac.at/Teaching/Lectures/Sem/2002/reports/Stelzmueller/index.html|Refactoring]] -- Seminar Softwareentwicklung (Programmierstil), WS 2002, Johannes Kepler Universität Linz
* [[https://softwaresanierung.wordpress.com/2010/08/09/das-spaghetticode-dilemma/|Das Spaghetticode-Dilemma]]
===== Richtlinien =====
==== Leitsätze und Empfehlungen (best practice) ====
* [[:soft:prog:File Formats]]
* [[:soft:prog:Codes]]
* [[:soft:prog:General Coding Guidelines]]
* [[soft:prog:doxygen]]
* [[:soft:prog:Common Gui Hotkeys]]
* [[..:magic_numbers]]
==== Normen und Standards ====
* [[wpde>ISO/IEC_9126]] (veraltet)
* [[wpde>ISO/IEC_25000]] -- Software-Engineering – Qualitätskriterien und Bewertung von Softwareprodukten (SQuaRE)
* [[https://wiki.selfhtml.org/wiki/Zeichenkodierung|Zeichencodierung − Bytes und Buchstaben]] [(https://web.archive.org/web/20190824134406/https://wiki.selfhtml.org/wiki/Zeichenkodierung)]