Skip to content

Sugestão de melhoria para o uso de optionals e funções #7

@viniciusmesquitac

Description

@viniciusmesquitac

Dupla:
@viniciusmesquitac
@jhennyferOliveira

Arquivo: main.swift & input.swift

Na função readDate(date: String?) acredito que não faz sentido ler e tratar um optional, pois a função já deveria esperar uma data válida, logo acredito que algumas coisas podem ser alteradas.

Sugestão:

Remover o optional e tratar separadamente, pois o por conta do argument.count ser > 1, nunca haverá a necessidade de receber um Optional: -> readDate(date: String)

if arguments.count > 1 {
    let inputDate = arguments[1]
    let date = readDate(date: inputDate) // inputdate nunca vai ser optional
    showResult(date: date)
} 

Bem, isso vai dar alguns bugs com outra função que retorna um optional, a inputDate() -> String?
mas achei o caso dela tão especifico que não acho que vale a pena criar uma função, visto que, só irá usar ela uma vez

Arquivo: menu.swift

Antes

case "3":
            //pesquisa de acordo com a entrada do usuário
            let input = inputDate()
            let foundDate = readDate(date: input)
            showResult(date: foundDate)

Depois

 case "3":
            //pesquisa de acordo com a entrada do usuário
            print("Insira a data para consultar o calendario (DD/MM):")
            guard let inputDate = readLine() else { return }
            let foundDate = readDate(date: inputDate)
            showResult(date: foundDate)

Aproveitando pra sugerir alguma função que limpe a tela do terminal, pra ficar melhor de usar, apesar de que é um uso bem rápido e não vai interferir muito, e parabéns pelo script ficou muito massa mesmo! inveja da criatividade

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions