Skip to content

Commit

Permalink
Merge branch 'doc' of github.com:BME-MIT-IET/iet-hf-2024-bubogok into…
Browse files Browse the repository at this point in the history
… doc
  • Loading branch information
Szombatioi committed May 22, 2024
2 parents 4ddd0da + 7c1adea commit 7326917
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 1 deletion.
5 changes: 5 additions & 0 deletions doc/graceful_exit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# A szálak helyes bezárása

A program a kommunikációhoz és a rajzoláshoz számos szálat használ. Ha a szálak rosszul állnak le, akkor az inkonzisztens fáljokhoz vezet, ha a program ír fáljokba.

A szálak garantált leállásához a Java shutdown hook használható. A shutdown hookok a JVM leállításakor automatikusan meghívódnak. Sajnos a Gradle nem állítja le rendesen a JVM-et, ezért a shutdown hookok nem hívódnak meg. Ez szerencsére élesben nem lesz probléma, mert a kész szoftvert a `java -jar` parancssal kell majd futtatni és az rendesen fogja leállítani a JVM-et.
6 changes: 6 additions & 0 deletions doc/python_github_actions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Pythonos github action

A szoftver mesterséges intelligencás része pythonban íródott. A Pythonos kódot is tesztelni kell, sőt a Python érdekes tulajdonságai miatt fontosabb, mint a Javat. A legjobb, ha a tesztek automatiksan futnak minden pull requesten.

A github actionssel könnyű volt beállítani az automatikus ellenőrizni, a tesztek futtatásáhos a Python unittest moduljának a `discover` parancsát használjuk.

10 changes: 9 additions & 1 deletion doc/sonarCloud.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
# SonarCloud
# Statikus analízis

## Manuális kódvizsgálás
Manuális kóvizsgálás során a kód nehezebben érthető részeit részletesen, csapatszinten átolvastuk, részben, hogy mindenki gyorsan és viszonylag akadálymentesen megértse a már meglevő kódokat, részben, hogy egy alap manuális kódátvizsgálást is végezzünk.

## Automatikus kódvizsgálás
Míg a manuális kóvizsgálás elengedhetetlen része a jól működő kódnak (hiszen egy gép nem, vagy csak kevéssé érti meg, hogy az adott kódrészelet mit szeretne csinálni), addig a clean code és egyéb elvek betartását ma már nagy nyugalommal bízhatjuk gépekre, hiszen így a fejlesztők valós időben kaphatnak visszajelzést arról, hogy az éppen írt kód milyen minőségű. \
Ebben nyújt segítséget a pl. a Sonar termékcsalád is, ami a teljes körű CI/DI kódellenőrzést végez. \
A házifeladat során a SonarCloud szolgáltatást és SonarLint kiegészítőt használtuk. Először a már meglévő kódbázist vizsgáltattuk, majd a kapott hibákat a projektbeli értelem szempontjából prioritás szerint rendeztük és szűrtük. Ezek közül a legfontosabbanak kijavítottuk. A kódon eszközölt további javítások, tesztek és bővítések pedig már a SonarCloud és a SonarLint használata mellett készültek. A legmeglepőbb számomra a "cognitive complexity" volt, ami a kezdeti kódbázisban egy alkalommal 85 volt az elfogadható 15 helyett, azonban a harminas-negyvenes complexity-k is gyakoriak voltak. Java oldalon minden ilyen jellegű hibát kijavítottunk, valamint számos más, a SonarLint által javasolt dolgot is módosítottunk, hogy minél inkább kövesse a projekt a clean code elveket.

0 comments on commit 7326917

Please sign in to comment.