Projekt

Obecné

Profil

« Předchozí | Další » 

Revize c467f2f6

Přidáno uživatelem Ondřej Váně před asi 4 roky(ů)

Ninety Ninety rule init and minor refactor

Zobrazit rozdíly:

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