- opisy - "dlaczego", nie "co" czy "jak"?
- Czy migawki się powtarzają? -
git log --format="%B" | sort | uniq -c | head
- Czy ich opisy są użyteczne?
- długość opisów? -
git log --format="%B" > l; awk '{ print length($0); }' l | sort -n
, do CSV i rób wykres i licz średnią - spójność opisów (te same nazwy, styl)? -
git log --format="%B" | sort
- czas teraźniejszy w nich? - j.w.
- opisy odwołują się do czegoś (kwitów, konkretnych poprawek, recek, komciów, wymagań)?
- % rozległych?
- Ile % migawek ma pliki znikąd?
- wykorzystanie GitHuba (zamknij #1)?
- ile jest migawek a ile scaleń?
git shortlog -sn [--no-merges]
- ile migawek z ciałem (coś poza tematem)? -
git log --format="%b" | sort | grep . | wc -l
- do also remove last part and see if multiline body won't change the results
- dobre i złe strony i na ile ułatwiły bądź utrudniły one dowiezienie projektu
- inne: spłaszczanie?
- czy kiedykolwiek były wrzuty na majstra bezpośrednio
- praca cały czas na innej gałęzi (develop, robocza), wrzuty na majstra po reckach
- brak dedykowanych gałęzi dla drobiazgów, kwitów, itp.
- święty majster
- brak TDD
- brak testów przed
- okazjonalne testy po
- okazjonalny kroczący szkielet
- jakiekolwiek znaki, że realizujemy kamienie milowe, dodajemy funkcje wg planu
Podsumowując: napędzanie się czymkolwiek na plus, rozbicie rodzajów pracy na plus.
- Recenzje kodu co mówią?
javac -help -X | grep Xlint
. Ustaw dla Mavena.
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
Wymaga Mavena 3 i samego Sonara: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
Polecenia:
/opt/sonarqube-5.6.1/bin/linux-x86-64/sonar.sh start
mvn sonar:sonar
firefox localhost:9000
Jako usługa na GNU/Linuxie: https://docs.sonarqube.org/display/SONAR/Running+SonarQube+as+a+Service+on+Linux
pokrycie testy SOLID
=== Święty majster?
czystyMajster.sh
grep java.util **/*.java
jakie kolekcje i gdzie i na co?
parametry kolekcji?
Ile miejsca zużywamy?
klasa Collections użyta?
inne: cyklo? inne: złożoność obliczeniowa?
=== Numerki
kodNr.sh
Testability rules Coverage
-
karty CRC
-
koncepty == obiekty?
-
pakiety pakiety: tech? pakiety: nazwy? pakiety: liczność? mapa pakietów? rozkład liczności?
-
API public vs pakietowe? interfejsy - ile, jakie? get/set? kalistenika? polimorfizm? wzorce obiektowe?
Git: kwadrant Feathersa pakiety: największe pakiety: mapa pokrycie: najwięcej testów pokrycie: części bez testów kod: sprawdzenie wyniku Sonar: dług techniczny Sonar: mapa złożoności cyklo
inne: haki? inne: .github?