-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Katselmointi
Terve @deinal! Tässä lyhyt katselmointi Full Stack kurssin projektistasi.
Käytettävyys
Mitä tein?
- Selasin sovelluksen näkymät läpi
- Testasin eri ulkoasuteemoja
Kokemus
- Sovelluksella on todella tyylikäs ja helppokäyttöinen käyttöliittymä, hyvää työtä! 🥇
- Ulkoasuteemojen vaihto on loistava toiminallisuus
Koodi
- Koodi on organisoitu selkeästi, loistavaa!
- Ulkoisille API:lle on toteutettu siistit abstraktiot
- Ulkoasuteeman vaihto on toteutettu näppärästi. Toinen vaihtoehto olisi käyttää styled-components-kirjastoa
- Komponenttien datan hakeminen kannttaa abstraktoita omilla hookseilla. Esim. tästä saisi melko vaivattomasti toteutettua uudelleenkäytettävän
useUrls-hookin. Tämän kaltaiset abstraktoinnit tekevät komponenttien koodista huomattavasti selkeämpää ja ylläpidettävämpää - React-native-paper-kirjaston kompontenteista löytyy aika paljon toisteellisuutta, jotka liittyvät pääosin ulkoasuteeman propseihin. Esim. RadioButton-komponentin
colorjauncheckedColorpropseille asetetaan aina sama arvo. Sen sijaan, että importtaisit suoraan nämä komponentit kirjastoista, kuten React-Native-paper, kannattaa niille tehdä kevyet "wrapper"-komponentit. Nämä "wrapper"-komponentit asettaisivat komponenttien propseille sovelluskohtaiset oletusarvot:
import React, { useState } from 'react';
import { RadioButton as PaperRadioButton } from 'react-native-paper';
// ...
const RadioButton = ({ theme, ...props }) => {
<RadioButton
color={theme.primary}
uncheckedColor={theme.idle}
{...props}
/>;
};
export default withTheme(RadioButton);- Asynkronisen tilan hallitsemiseen löytyy monia hyviä kirjastoja, kuten React Query. React Query -kirjaston kaltaiset kirjastot poistavat kaiken boilerplate koodin, joka liittyy asynkronisen tilan hallitsemiseen
Kokonaisuus
Hienoa, että olet löytänyt idean sovellukselle, jolle on varmasti oikeaa käyttöä. Itse sovellus on helppokäyttöinen ja siinä on tyylikäs käyttöliittymä. Sen koodi on organisoitu selkeästi ja sen sisäinen laatu on pääosin korkea. Pienellä refaktoroinnilla koodistaa saisi vielä ylläpidettävämpää ja helppolukuisempaa.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels