A mobil alkalmazások rohamos léptékben terjednek az élet minden területén. Fejlesztőként fontos, hogy az alkalmazás és a forráskód minőségére és karbantarthatóságára is ügyeljünk, különösen ha hosszú távra tervezünk. Az előadás keretében szóba kerülnek alkalmazás fejlesztési legjobb gyakorlatok és újdonságok az Android platform tükrében.
Az előadás felvétele: https://youtu.be/zRCin-lcdSY?slideshare
Dr. Ekler Péter: A mobilszoftver két értéke – legjobb gyakorlatok és újdonságok az Android platform tükrében
1. A mobilszoftver két értéke az
Android platform szemszögéből
peter.ekler@aut.bme.hu
2. A szoftver két értéke
• Másodlagos érték: a szoftver viselkedése - a szoftver azt
csinálja hibamentesen, amit a felhasználó elvár
• Elsődleges érték: Tolerálja és egyszerűen alkalmazkodik a
folyamatos változásokhoz, tehát könnyű módosítani (software
is soft)
5. Kihívások
• Volt már valaha dolgunk rossz kóddal?
• „Olvasni a kódot több idő, mint írni”
• Volt már olyan eset, hogy nem volt idő egy
feladat „szakszerű” megoldására, a kód
tisztítására, a rövid határidő miatt?
„Ahogy nő a kód mennyisége, úgy csökken a
fejlesztők produktivitása.”
7. • Új szoftver rendszerek fő jellemzői:
> Folyamatosan változó követelmények
• Agilis fejlesztés
• Csapatmunka
• Kódminőség
• Szoftver életciklus
Mi a Clean Code? Miért van rá szükség?
• Mi a szoftver igazi értéke?
> Karbantarthatóság
> Folyamatos továbbfejleszthetőség és szállítás
8. • Elnevezés
> Small scope: long, descriptive name
> Big scope: short name
• Kis osztályok
• Egy függvény csak egy dologért felelős
• Rövid metódusok
> Maximum ~4 sor!
• Kevés argumentum
> Maximum 3
• Nincs boolean argumentum
• Nincs „kimeneti” argumentum
Alap Clean Code elvek
9. Android fejlesztés
• Hibamentes, hatékony működés
• Megfelelő library-k és eszközök ismerete, illetve használata
• Fejlesztőkörnyezet kialakítása
> Verziókezelés
> Continous Integration (Jenkins, CircleCI, …)
> Tesztelés
– Unit tesztek
– Integrációs tesztek
– Teszt környezet
• Clean code
> Kódminőség
> Kód újrafelhasználhatóság
> SOLID tervezési elvek
> Refaktor
• Optimalizálás
> Memória, CPU használat és energiafogyasztás
• Test Driven Development
10. Cserkész szabály
• Nem elég jól megírni a kódot, hanem tisztán is
kell tartani
• „Hagyd a tábort tisztábban, mint ahogy kaptad!”
14. • Több méret egyidejű nyomonkövetése
• Témák áttekintése
• Android verzió alapú renderelés
• Drag&Drop
• Komponens fa
Live layout (preview all screen size)
15. Lint
• Android
> Spell checking
> Android XML fájlok vizsgálata
> Régebbi verziókon nem elérhető attribútumok
> Hardcode text
> Lokalizáció használatára figyelmeztet
– pl. SimpleDateFormat
> Layout felfújás parent megadás nélkül
> Padding margin symmetry
> Nem használt erőforrások
> Láthatóságok
– pl. hol lehet szigorúbb
• Cody style
• Control flow
• Data flow
• Declaration redundancy
• Import
• Lehetséges bugok
> itt pár érdekes példa
• XML
16. • Live template: CTRL + J
> Live template készítés: Tools-> „Save as live template”
• Jobbegér-> „Compare with clipboard”
• Jobbegér-> „Create Gist”
• Osztálynév kijelölés -> Alt+Enter -> „Create Test”
• Jobbegér-> „Search with Google”
• XML Validator
• Tools -> New scratch file
• …
További érdekességek
17. • „Import Android Code Sample”
• Gazdag projekt készlet
> Leírás
> Preview !
• API képességek felderítése
• API-k megfelelő használatának megismerése
• Ötletek
Példa projektek – API explorer
27. VehicleICT architektúra - SensorHUB
Monitoring
Interface
Business
Intelligence and
Reporting
Automated Data
Analysis
Push
Notification
Service
Vehicle Data Query Interface
RAW
Data
Hadoop
Analytic.
DB 1
Analytic
DB 2
Analytic
DB n
OBD2
CAN Bus
Adat gyűjtés, helyi
szolgáltatások,
megjelenítés
BI Reports and
Dashboards
Monitoring Data
Alkalmazások és
szolgáltatások
Személyre szabott
visszajelzés,
közösségi integráció,
PUSH értesítések
28. SocialDriving koncepció
• Közösségi vezetés, „gamification” elemek
• Háttérben futó vezetési stílus felügyelet
• Fogyasztás és káros anyag kibocsátás
összehasonlítás
> Hasonló autók és motortípusok
> Hasonló időben utazók
> Hasonló vezetési stílusú sofőrök
• OBD eszköz nélkül is kipróbálható
• Hely alapú értesítések, flotta és szerviz
szolgáltatások