|
|
Test |
|
|
\ No newline at end of file |
|
|
# QA-Report
|
|
|
|
|
|
In diesem Quality Assurance Report betrachten wir im besonderen Maße Anti-Patterns & Code-Smells welche sich durch die Entwicklung des Freitext-Checker Features hineingeschlichen haben.
|
|
|
Das Augenmerk wird besonders auf diese Art von Patterns/Smells gelegt, da sich diese im Verlauf der weiteren Entwicklung des Features als problematisch erweisen können. Durch eine frühzeitige Erkennung dieser Hindernisse wird das weitere Vorgehen der Entwicklung weniger belastet.
|
|
|
|
|
|
## Anti-Pattern & Code-Smells
|
|
|
|
|
|
Als Basis für die Erkennung, wurden zu dieser Thematik die Informationen von [Wikipedia: Anti-Pattern](https://de.wikipedia.org/wiki/Anti-Pattern) und [Wikipedia: Smell](https://de.wikipedia.org/wiki/Smell_(Programmierung)) herangezogen. Mithilfe dieser wurden die betreffenden Muster im Code ausfindig gemacht um nun im Einzelnen näher betrachtet zu werden.
|
|
|
|
|
|
### Copy&Paste
|
|
|
|
|
|
Copy&Paste als solches, ist die einfachste Möglichkeit mit wenig Aufwand bereits vorhandene Implementierungen weiter zu verwenden. Die dadurch gegebene Einfachheit der Wiederverwendung mündet allerdings dann meist im weiteren Verlauf der Entwicklung in tiefer sitzende Anti-Patterns deren Entfernung schwieriger ist als wenn es zu Beginn eigenständig entwickelt wurde.
|
|
|
|
|
|
Siehe: /src/main/webapp/app/controller/Questions.js
|
|
|
|
|
|
```javascript
|
|
|
lectureIndex: function (options) {
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.setLectureMode();
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.toolbar.backButton.show();
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.toolbar.setTitle(Messages.LECTURE_QUESTIONS);
|
|
|
```
|
|
|
|
|
|
```javascript
|
|
|
preparationIndex: function (options) {
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.setPreparationMode();
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.toolbar.backButton.show();
|
|
|
ARSnova.app.mainTabPanel.tabPanel.userQuestionsPanel.toolbar.setTitle(Messages.PREPARATION_QUESTIONS);
|
|
|
```
|
|
|
|
|
|
### Magic Values
|
|
|
|
|
|
Insofern keine Problematik, da es die Funktionalität des Codes nicht beeinflusst, allerdings deren Verständlichkeit in Mitleidenschaft zieht.
|
|
|
|
|
|
### Gas-Fabrik
|
|
|
|
|
|
### Lavafluss |