Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full Stack projektin katselmointi #2

Open
Kaltsoon opened this issue Sep 4, 2020 · 0 comments
Open

Full Stack projektin katselmointi #2

Kaltsoon opened this issue Sep 4, 2020 · 0 comments

Comments

@Kaltsoon
Copy link

Kaltsoon commented Sep 4, 2020

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 color ja uncheckedColor propseille 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);

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant