Vorlage:Codequalität: Unterschied zwischen den Versionen
aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<includeonly><div class="{{#ifexpr: {{{readability}}} > 2 and {{{dry}}} > 2 and {{{verifiability}}} …“) |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<includeonly><div | <includeonly><div | ||
class="{{#ifexpr: {{{readability}}} > 2 and | class="{{#ifexpr: {{{readability}}} > 2 and | ||
{{{continuity}}} > 2 and | |||
{{{customizability}}} > 2 and | |||
{{{dry}}} > 2 and | {{{dry}}} > 2 and | ||
{{{demeter}}} > 2 and | |||
{{{verifiability}}} > 2 and | {{{verifiability}}} > 2 and | ||
{{{interfaces}}} > 2 and | |||
{{{contract}}} > 2 and | {{{contract}}} > 2 and | ||
{{{liskov}}} > 2 and | {{{liskov}}} > 2 and | ||
{{{modularity}}} > 2 | {{{modularity}}} > 2 | ||
| wiki_highlight_01 | | wiki_highlight_01 | ||
| {{#ifexpr: {{{readability}}} > 0 and | | {{#ifexpr: {{{readability}}} > 0 and | ||
{{{continuity}}} > 0 and | |||
{{{customizability}}} > 0 and | |||
{{{dry}}} > 0 and | {{{dry}}} > 0 and | ||
{{{demeter}}} > 0 and | |||
{{{verifiability}}} > 0 and | {{{verifiability}}} > 0 and | ||
{{{interfaces}}} > 0 and | |||
{{{contract}}} > 0 and | {{{contract}}} > 0 and | ||
{{{liskov}}} > 0 and | {{{liskov}}} > 0 and | ||
{{{modularity}}} > 0 | {{{modularity}}} > 0 | ||
| wiki_warning_01 | | wiki_warning_01 | ||
Zeile 25: | Zeile 25: | ||
}} | }} | ||
}}">{{#ifexpr: {{{readability}}} > 2 and | }}">{{#ifexpr: {{{readability}}} > 2 and | ||
{{{continuity}}} > 2 and | |||
{{{customizability}}} > 2 and | |||
{{{dry}}} > 2 and | {{{dry}}} > 2 and | ||
{{{demeter}}} > 2 and | |||
{{{verifiability}}} > 2 and | {{{verifiability}}} > 2 and | ||
{{{interfaces}}} > 2 and | |||
{{{contract}}} > 2 and | {{{contract}}} > 2 and | ||
{{{liskov}}} > 2 and | {{{liskov}}} > 2 and | ||
{{{modularity}}} > 2 | {{{modularity}}} > 2 | ||
| | | Bei der Realisierung der Anwendung <code>{{{application}}}</code> wurden die wichtigsten [[Programmierprinzipien]] beachtet: | ||
| {{#ifexpr: {{{readability}}} > 0 and | | {{#ifexpr: {{{readability}}} > 0 and | ||
{{{continuity}}} > 0 and | |||
{{{customizability}}} > 0 and | |||
{{{dry}}} > 0 and | {{{dry}}} > 0 and | ||
{{{demeter}}} > 0 and | |||
{{{verifiability}}} > 0 and | {{{verifiability}}} > 0 and | ||
{{{interfaces}}} > 0 and | |||
{{{contract}}} > 0 and | {{{contract}}} > 0 and | ||
{{{liskov}}} > 0 and | {{{liskov}}} > 0 and | ||
{{{modularity}}} > 0 | {{{modularity}}} > 0 | ||
| | | Bei der Realisierung der Anwendung <code>{{{application}}}</code> wurden wichtige [[Programmierprinzipien]] '''nur eingeschränkt''' beachtet: | ||
| | | Bei der Realisierung der Anwendung <code>{{{application}}}</code> wurden wichtige [[Programmierprinzipien]] '''nicht''' beachtet: | ||
}} | }} | ||
}} | }}{{#switch: {{{readability}}} | ||
| 0 =   ☆☆☆☆☆ | | 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: unverständlich und/oder unlesbar | ||
| 1 =   ★☆☆☆☆ | | 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: ausreichend | ||
| 2 =   ★★☆☆☆ | | 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: befriedigend | ||
| 3 =   ★★★☆☆ | | 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: gut | ||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: sehr gut | |||
| 5 =   ★★★★★ | | 5 = <br />  ★★★★★ [[Programmierprinzipien#Verst.C3.A4ndlichkeit.2C_Comprehesibility.2C_Lesbarkeit.2C_Readability|Verständlichkeit/Lesbarkeit]]: ausgezeichnet | ||
}}{{#switch: {{{writability}}} | |||
}} | | 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: unbrauchbare Entwicklungsumgebung | ||
| 0 =   ☆☆☆☆☆ | | 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: schlechte Entwicklungsumgebung | ||
| 1 =   ★☆☆☆☆ | | 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: brauchbare Entwicklungsumgebung | ||
| 2 =   ★★☆☆☆ | | 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: gute Entwicklungsumgebung | ||
| 3 =   ★★★☆☆ | | 4 = <br />  ★★★★☆ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: sehr gute Entwicklungsumgebung | ||
| 4 =   ★★★★☆ | | 5 = <br />  ★★★★★ [[Programmierprinzipien#Schreibbarkeit.2C_Writability|Schreibbarkeit]]: ausgezeichnete Entwicklungsumgebung | ||
| 5 =   ★★★★★ | }}{{#switch: {{{continuity}}} | ||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: mangelhaft | |||
}} | | 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: ausreichend | ||
| 0 =   ☆☆☆☆☆ | | 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: befriedigend | ||
| 1 =   ★☆☆☆☆ | | 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: gut | ||
| 2 =   ★★☆☆☆ | | 4 = <br />  ★★★★☆ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: sehr gut | ||
| 3 =   ★★★☆☆ | | 5 = <br />  ★★★★★ [[Programmierprinzipien#Stetigkeit.2C_Continuity|Stetigkeit]]: ausgezeichnet | ||
| 4 =   ★★★★☆ | }}{{#switch: {{{customizability}}} | ||
| 5 =   ★★★★★ | | 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: nicht gegeben | ||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: kaum gegeben | |||
}} | | 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: teilweise gegeben | ||
| 0 = | | 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: für die wichtigsten Parameter gegeben | ||
| 1 =   ★☆☆☆☆ | | 4 = <br />  ★★★★☆ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: sehr gut | ||
| 2 =   ★★☆☆☆ | | 5 = <br />  ★★★★★ [[Programmierprinzipien#Konfigurierbarkeit.2C_Customizability|Konfigurierbarkeit]]: ausgezeichnet | ||
| 3 =   ★★★☆☆ | }}{{#switch: {{{dry}}} | ||
| 4 =   ★★★★☆ | | 0 = <br />  ☆☆☆☆☆ [[Don't repeat yourself|DRY]]: extrem viele Wiederholungen | ||
| 5 =   ★★★★★ | | 1 = <br />  ★☆☆☆☆ [[Don't repeat yourself|DRY]]: viele Wiederholungen | ||
| 2 = <br />  ★★☆☆☆ [[Don't repeat yourself|DRY]]: einige Wiederholungen | |||
}} | | 3 = <br />  ★★★☆☆ [[Don't repeat yourself|DRY]]: wenige Wiederholungen | ||
| 0 =   ☆☆☆☆☆ [[ | | 4 = <br />  ★★★★☆ [[Don't repeat yourself|DRY]]: kaum Wiederholungen | ||
| 1 =   ★☆☆☆☆ [[ | | 5 = <br />  ★★★★★ [[Don't repeat yourself|DRY]]: keine Wiederholungen | ||
| 2 =   ★★☆☆☆ [[ | }}{{#switch: {{{demeter}}} | ||
| 3 =   ★★★☆☆ [[ | | 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde extrem häufig missachtet | ||
| 4 =   ★★★★☆ [[ | | 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde häufig missachtet | ||
| 5 = | | 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde mehrmals missachtet | ||
| | | 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde meist beachtet | ||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde fast immer bachtet | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#Gesetz_von_Demeter.5B5.5D.2C_Law_of_Demeter.2C_LoD|Gesetz von Demeter]]: wurde beachtet | |||
}}{{#switch: {{{verifiability}}} | |||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: keine Spezifikation vorhanden | |||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: eine nicht-formale ist Spezifikation vorhanden | |||
| 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: eine simple formale Spezifikation ist vorhanden | |||
| 3 = <br />  ★★★☆☆ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: eine gute formale Spezifikation ist vorhanden | |||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: eine sehr gute formale Spezifikation ist vorhanden | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#.C3.9Cberpr.C3.BCfbarkeit.2C_Verifiability|Überprüfbarkeit]]: einie ausgezeichnete formale Spezifikation ist vorhanden | |||
}}{{#switch: {{{interfaces}}} | |||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: nicht spezifiziert | |||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: kaum spezifiziert | |||
| 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: teilweise spezifiziert | |||
| 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: die wichtigsten sind spezifiziert | |||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: fast vollständig spezifiziert | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#Benutze_Schnittstellen.2C_Make_Use_of_Interfaces|Interfaces]]: vollständig spezifiziert | |||
}}{{#switch: {{{contract}}} | |||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: nicht vorhanden | |||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: kaum vorhanden | |||
| 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: wenige vorhanden | |||
| 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: die wichtigsten sind vorhanden | |||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: zahlreich vorhanden | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#Benutze_Integrit.C3.A4tsbedingungen.2C_Make_Use_of_Integrity_Constraints.2C_Design_by_Contract.5B2.5D|Integritätsbedingungen]]: vollständig vorhanden | |||
}}{{#switch: {{{liskov}}} | |||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde nicht beachtet | |||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde kaum beachtet | |||
| 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde häufiger beachtet | |||
| 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde häufig beachtet | |||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde meist beachtet | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#Liskovsches_Substitutionsprinzip.5B3.5D.2C_LSP.2C_Ersetzbarkeitsprinzip.2C_Liskov_substitution_principle.5B4.5D|Ersetzbarkeitsprinzip]]: wurde beachtet | |||
}}{{#switch: {{{modularity}}} | |||
| 0 = <br />  ☆☆☆☆☆ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: unmodular | |||
| 1 = <br />  ★☆☆☆☆ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: kaum modular | |||
| 2 = <br />  ★★☆☆☆ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: teilweise modular | |||
| 3 = <br />  ★★★☆☆ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: modular (die wesentlichsten Regeln wurden beachet) | |||
| 4 = <br />  ★★★★☆ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: modular (die meisten Regeln wurden beachtet) | |||
| 5 = <br />  ★★★★★ [[Programmierprinzipien#Modularit.C3.A4t.2C_Modularity.2C_Teile_und_herrsche.2C_Divide_et_impera|Modularität]]: modular (alle Regeln wurden beachtet) | |||
}}{{ #if: {{{annotation1|}}} | <br />{{{annotation1}}} | | }}{{ #if: {{{annotation1|}}} | <br />{{{annotation1}}} | | ||
}}{{ #if: {{{annotation2|}}} | <br />{{{annotation2}}} | | }}{{ #if: {{{annotation2|}}} | <br />{{{annotation2}}} | | ||
Zeile 93: | Zeile 130: | ||
}}{{ #if: {{{annotation4|}}} | <br />{{{annotation4}}} | | }}{{ #if: {{{annotation4|}}} | <br />{{{annotation4}}} | | ||
}}{{ #if: {{{annotation5|}}} | <br />{{{annotation5}}} | | }}{{ #if: {{{annotation5|}}} | <br />{{{annotation5}}} | | ||
}}</div>{{#set: | }}</div>{{#set: Codequalität:Lesbarkeit={{{readability}}} | ||
| | | Codequalität:Schreibbarkeit={{{writability}}} | ||
| | | Codequalität:Stetigkeit={{{continuity}}} | ||
| | | Codequalität:Konfigurierbarkeit={{{customizability}}} | ||
| | | Codequalität:DRY={{{dry}}} | ||
| Codequalität:Gesetz von Demeter={{{demeter}}} | |||
| Codequalität:Überprüfbarkeit={{{verifiability}}} | |||
| Codequalität:Interfaces={{{interfaces}}} | |||
| Codequalität:Integritätsbedingungen={{{contract}}} | |||
| Codequalität:Ersetzbarkeitsprinzip={{{liskov}}} | |||
| Codequalität:Modularität={{{modularity}}} | |||
}}[[Kategorie:Codequalität]]</includeonly><noinclude> | |||
=Benutzung= | =Benutzung= | ||
<pre><nowiki>{{Codequalität | <pre><nowiki>{{Codequalität | ||
| | | application = name | ||
| | | readability = 3 | ||
| | | writability = 3 | ||
| | | continuity = 3 | ||
| | | dry = 3 | ||
| verifiability = 3 | |||
| interfaces = 3 | |||
| contract = 3 | |||
| liskov = 3 | |||
| customizability = 3 | |||
| demeter = 3 | |||
| modularity = 3 | |||
| annotation1 = Anmerkung 1 | |||
| annotation2 = Anmerkung 2 | |||
| annotation3 = Anmerkung 3 | |||
| annotation4 = Anmerkung 4 | |||
| annotation5 = Anmerkung 5 | |||
}}</nowiki></pre> | }}</nowiki></pre> | ||
[[Kategorie:Vorlage:Anmerkung|Qualität]] | [[Kategorie:Vorlage:Anmerkung|Qualität]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 27. Juni 2013, 08:34 Uhr
Benutzung
{{Codequalität | application = name | readability = 3 | writability = 3 | continuity = 3 | dry = 3 | verifiability = 3 | interfaces = 3 | contract = 3 | liskov = 3 | customizability = 3 | demeter = 3 | modularity = 3 | annotation1 = Anmerkung 1 | annotation2 = Anmerkung 2 | annotation3 = Anmerkung 3 | annotation4 = Anmerkung 4 | annotation5 = Anmerkung 5 }}