SarahMadalena / Inspire

Daily Challenge: programa de imagens de inspiração e referência diária
4 stars 0 forks source link

Separação de código #7

Open ThiagoHBA opened 2 years ago

ThiagoHBA commented 2 years ago

Olá Sarah, tudo bem? Eu achei muito legal tua ideia e a implementação tá muito boa também. Queria te dar uma sugestão que acredito que possa facilitar no futuro pra realizar manutenção ou adicionar funcionalidades.

No arquivo api.swift você utiliza a estrutura da seguinte forma:

import Foundation

struct Response: Decodable {
    var page: Int
    var per_page: Int
    var photos: [Photo]
}

struct Photo: Decodable {
    let src: SRC
}

struct SRC: Decodable {
    let original: String
    let medium: String
    let small: String
}

//Função que vai consumir a API e retornar (caso não nulo)
func api (theme: String) {

Seria interessante separar esses modelos em arquivos diferentes para que, no momento em que alguma funcionalidade nova fosse adicionada ou outro modelo tivesse de ser criado, não interferisse na legibilidade do código que lida com a api.

SarahMadalena commented 2 years ago

Obrigado pela dica Thiago 🥳