Code Monkey home page Code Monkey logo

daily's Introduction

Hi there 👋

  • 🔭 I’m currently working on UI/UX Desing
  • 🌱 I’m currently learning Swift
  • 😄 Pronouns: She/Her
  • ⚡ Fun fact: I like dinosaurs

Snake animation

@nillias's Holopin board

daily's People

Contributors

nillias avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

daily's Issues

Sugestão de melhoria: usar Codable no lugar do JSONSeralization

let dadosJSON = try JSONSerialization.jsonObject(with: dados, options: [.mutableLeaves, .mutableContainers]) as? [String: [String]]

Com o Codable, vc consegue automaticamente consumir e escrever em um arquivo JSON, por meio do decodable e encodable

Para isso, vc só precisa criar uma struct com o formato que deseja receber os dados e assinar essa struct como do tipo Codable

indicação de leitura: esse link

Sugestão de melhoria

Oie Nillia, tudo joia? ✨

Gostei demais da sua ideia, muito prático para manter a organização no dia a dia!

Como sugestão de melhoria, seria massa se fosse possível implementar junto com o nome do compromisso, o horário que ele ocorrerá e também a data 🥰

Se precisar de algum suporte para essa e outras implementações, estou à disposição 🌸

Congratulações e Dúvidas

Olá Nilia, gostei bastante do seu projeto, ele é muito útil para a organizar o dia a dia. Achei também muito bem organizar e bem limpo. Eu também gostaria de entender o que siginificam .mutableLeaves e mutableContainers nas Options. Ademais, parabéns pelo projeto.

func carregarJSON(nomeArquivo: String, caminho: URL) throws -> [String: [String]]? {
    let caminhoFinal = caminho.appendingPathComponent(nomeArquivo)
    let dados = try Data(contentsOf: caminhoFinal)
    let dadosJSON = try JSONSerialization.jsonObject(with: dados, options: [.mutableLeaves, .mutableContainers]) as? [String: [String]]
    return dadosJSON
}

Comentário geral <3

Adorei a proposta do projeto, está bem organizado e bem limpo ☺️ Gostaria de saber mais sobre o JSONSerialization :D Seu README, ficou incrível aquele logo 🗓.

Feedback

Oi Nillia, eu amei amei amei seu programa. Achei muito organizado, bem estruturado. Parabéns, tá ótimo!

Observação sobre compromissos nulos e compromissos repetidos.

case "3":
clear()
let dados = try? carregarJSON(nomeArquivo: arquivoAgenda, caminho: caminhofinal)
if var dado = dados {
print("Digite o dia da semana:")
let dia = readLine()
if var res = dia{
res = res.lowercased().replacingOccurrences(of: "ç", with: "c").trimmingCharacters(in: .whitespacesAndNewlines)
print("Digite o compromisso:")
let compromisso = readLine()
if let compromisso = compromisso {
dado[res]?.append(compromisso)
try salvarJSON(objetoJSON: dado, nomeArquivoJSON: arquivoAgenda, caminho: caminhofinal)
}
}
}

Saudações, percebi que consigo colocar compromissos sem nome na agenda ou repetidos . Uma condicional dizendo que não pode receber "" e compromissos que já existem naquele dia resolveria isso.

Informar que quando a string de dia inserida não é válida.

Primeiramente parabéns! Funcionou muito bem e o projeto é realmente útil!

Minha única sugestão é que durante o cadastro de uma task, ao perguntar o dia, caso a string seja inválida o usuário seja informado.

Além disso, perfeito! 🚀

Elogio/Ideia

Oi Nilia, parabéns pelo seu trabalho! Achei extremamente legal e prático, estudar maneiras de implementar uma lógica que mudasse um compromisso de um dia para outro seria bem legal! ❤️

Identação

Olá, Nillias 👋🏻

Gostaria de dar parabéns pelo seu projeto, muito legal e funcional, adorei mesmo.
Um ponto importante, achei muito importante os comentários referentes às responsabilidades de cada função.

Tenho algumas sugestões sobre seu código, vamos lá?

  • Quando eu abri o projeto no Xcode, algumas partes do código estavam sem identação. (Dica: o comando pra identar no Xcode é 'control + i', pra que funcione você tem que selecionar todas as linhas que deseja identar, vou deixar um exemplo abaixo, onde no final tem duas chaves na mesma coluna.

func escolherDia() {
print("digite o dia da semana")
let dados = try? carregarJSON(nomeArquivo: arquivoAgenda, caminho: caminhofinal)
if let dados = dados {
var opcaoDia = true
while opcaoDia {
let menuDia = readLine()!
switch menuDia {
case "segunda":
printaDia(dia: "segunda", programacao: dados["segunda"]!)
opcaoDia = false
case "terca":
printaDia(dia: "terca", programacao: dados["terca"]!)
opcaoDia = false
case "quarta":
printaDia(dia: "quarta", programacao: dados["quarta"]!)
opcaoDia = false
case "quinta":
printaDia(dia: "quinta", programacao: dados["quinta"]!)
opcaoDia = false
case "sexta":
printaDia(dia: "sexta", programacao: dados["sexta"]!)
opcaoDia = false
default:
print("\nDigite um valor existente")
}
}
}
}

  • Acho que talvez uma classe main deixaria seu código mais separadinho, acho importante uma classe main, mas é só uma sugestão.

  • Outro ponto seria separar um arquivo só para as funções deixando o arquivo main mais limpo.

Com carinho, Milena Alcântara ☺️

Feedback

Muito fofo a iniciativa, espero que futuramente possa adicionar algo como informações adicionais para a daily, como um detalhamento/notas.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.