Revize c467f2f6
Přidáno uživatelem Ondřej Váně před asi 4 roky(ů)
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/detectors/NinetyNinetyRuleDetectorImpl.java | ||
---|---|---|
1 |
package cz.zcu.fav.kiv.antipatterndetectionapp.detecting.detectors; |
|
2 |
|
|
3 |
import cz.zcu.fav.kiv.antipatterndetectionapp.detecting.DatabaseConnection; |
|
4 |
import cz.zcu.fav.kiv.antipatterndetectionapp.model.AntiPattern; |
|
5 |
import cz.zcu.fav.kiv.antipatterndetectionapp.model.Project; |
|
6 |
import cz.zcu.fav.kiv.antipatterndetectionapp.model.QueryResultItem; |
|
7 |
import cz.zcu.fav.kiv.antipatterndetectionapp.model.ResultDetail; |
|
8 |
import org.slf4j.Logger; |
|
9 |
import org.slf4j.LoggerFactory; |
|
10 |
|
|
11 |
import java.util.ArrayList; |
|
12 |
import java.util.List; |
|
13 |
|
|
14 |
public class NinetyNinetyRuleDetectorImpl extends AntiPatternDetector { |
|
15 |
|
|
16 |
private final Logger LOGGER = LoggerFactory.getLogger(BusinessAsUsualDetectorImpl.class); |
|
17 |
|
|
18 |
private final AntiPattern antiPattern = new AntiPattern(7L, |
|
19 |
"Ninety Ninety Rule", |
|
20 |
"NinetyNinetyRule", |
|
21 |
"TODO"); |
|
22 |
|
|
23 |
private final String sqlFileName = "ninety_ninety_rule.sql"; |
|
24 |
|
|
25 |
@Override |
|
26 |
public AntiPattern getAntiPatternModel() { |
|
27 |
return this.antiPattern; |
|
28 |
} |
|
29 |
|
|
30 |
@Override |
|
31 |
public String getAntiPatternSqlFileName() { |
|
32 |
return this.sqlFileName; |
|
33 |
} |
|
34 |
|
|
35 |
@Override |
|
36 |
public QueryResultItem analyze(Project project, DatabaseConnection databaseConnection, List<String> sql) { |
|
37 |
List<ResultDetail> resultDetails = new ArrayList<>(); |
|
38 |
return new QueryResultItem(this.antiPattern, false, resultDetails); |
|
39 |
} |
|
40 |
} |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/detectors/RoadToNowhereDetectorImpl.java | ||
---|---|---|
44 | 44 |
* Postup detekce: |
45 | 45 |
* 1) u každého projektu zkusit nalézt jestli obsahuje nějaké wiki stránky s projektovým plánem |
46 | 46 |
* 2) dále zkusit najít aktivity, které by naznačovali, že vznikl nějaký projektový plán |
47 |
* 5) pokud nebude nalezena žádná aktivita nebo wiki stránka, tak je antivzor detekován
|
|
47 |
* 3) pokud nebude nalezena žádná aktivita nebo wiki stránka, tak je antivzor detekován
|
|
48 | 48 |
* |
49 | 49 |
* @param project analyzovaný project |
50 | 50 |
* @param databaseConnection databázové připojení |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/detectors/TooLongSprintDetectorImpl.java | ||
---|---|---|
28 | 28 |
|
29 | 29 |
private final String SQL_FILE_NAME = "too_long_sprint.sql"; |
30 | 30 |
|
31 |
// TODO vytáhnout konstanty ZDE |
|
32 |
|
|
31 | 33 |
|
32 | 34 |
@Override |
33 | 35 |
public AntiPattern getAntiPatternModel() { |
src/main/java/cz/zcu/fav/kiv/antipatterndetectionapp/detecting/detectors/VaryingSprintLengthDetectorImpl.java | ||
---|---|---|
51 | 51 |
* 3) zjistit jejich délku (rozdíl mezi start date a end date) |
52 | 52 |
* 4) vždy porovnat dvě po sobě jdoucí iterace |
53 | 53 |
* 5) pokud se délka porovnávaných iterací liší o více než 7 dní, tak je zvednut counter |
54 |
* 6) pokud counter překročí hodnotu 2, tak je anti paatern detekován
|
|
54 |
* 6) pokud counter překročí hodnotu 2, tak je anti patern detekován |
|
55 | 55 |
* <p> |
56 | 56 |
* Alternativa (sledovat rozptyl délek jednotlivých iterací a pokud překročí nějakou hodnotu, tak detevat) |
57 | 57 |
* |
src/main/resources/queries/ninety_ninety_rule.sql | ||
---|---|---|
1 |
/* |
|
2 |
Anti-pattern name: Ninety-Ninety Rule |
|
3 |
|
|
4 |
*/ |
Také k dispozici: Unified diff
Ninety Ninety rule init and minor refactor